[Opgelost] beveiligd gedeelte Topic is solved
Moderator: velden
[Opgelost] beveiligd gedeelte
Ik wil graag een beveiligd gedeelte maken.
Nu weet ik ondertussen dat ik dit kan doen met Frontenduser en dat is me in het verleden reeds gelukt.
Ik heb ondertussen al 2 groepen aangemaakt dus dat is ook geen probleem.
Ik zou echter graag hebben dat de personen die inloggen enkel de pagina of pagina's kunnen zien waarop ze toegang hebben. Is dit mogelijk??
bvb
Er zijn 3 pagina's
- AIS
- Foto's personeel
- Tarieven
Ik heb geen zaken met foto's personeel dus ik zou in menu enkel volgende willen zien.
- AIS
- Tarieven
Voor een andere klant gelden andere regels.
Nu weet ik ondertussen dat ik dit kan doen met Frontenduser en dat is me in het verleden reeds gelukt.
Ik heb ondertussen al 2 groepen aangemaakt dus dat is ook geen probleem.
Ik zou echter graag hebben dat de personen die inloggen enkel de pagina of pagina's kunnen zien waarop ze toegang hebben. Is dit mogelijk??
bvb
Er zijn 3 pagina's
- AIS
- Foto's personeel
- Tarieven
Ik heb geen zaken met foto's personeel dus ik zou in menu enkel volgende willen zien.
- AIS
- Tarieven
Voor een andere klant gelden andere regels.
Last edited by iStevo on Tue Sep 23, 2008 8:43 am, edited 1 time in total.
Re: beveiligd gedeelte
Je zou inderdaad zo kunnen werken, waarbij je dan:
Ronny
wordt afgevraagd...{if $ccuser->memberof('groep1')}
Ronny
Re: beveiligd gedeelte
De code moet goed zijn volgens mij, klopt de naam van de groep wel?
Probleren dit eens:
en als dat niet lukt alleen dit:
Dit laatste is niet groep afhankelijk maar dan weet je in ieder geval of een user goed is ingelogd.
Probleren dit eens:
Code: Select all
{if $ccuser->loggedin() && $ccuser->memberof('personeel')}
Code: Select all
{if $ccuser->loggedin()}
Last edited by sn3p on Fri Sep 19, 2008 2:16 pm, edited 1 time in total.
Re: beveiligd gedeelte
Na het inloggen wordt de "Logout Template" getoond, hier kan je user specefieke data tonen als je wilt, bijvoorbeeld:
De links die de persoon te ziet krijgt zijn dan afhankelijk van de groep waarin ze zitten.
Deze links kunnen bijvoorbeeld interne links zijn naar pagina's die wel actief ('Active' aangevinkt) zijn, maar niet zichtbaar ('Show in menu' uitgevinkt). Binnen deze pagina's/template moet je ook zorgen dat de content alleen zichtbaar is voor de juiste users/groups (op dezelfde manier als hierboven), anders kan iedereen er bij als ze de juiste url invoeren via de adresbalk.
Code: Select all
{if $ccuser->loggedin()}
{$startform}
<h3>{$prompt_loggedin} {$username}</h3>
{if $ccuser->memberof('klant')}
<ul>
<li><a href="#">Tarieven</a></li>
<li><a href="#">Wachtijden</a></li>
</ul>
{elseif $ccuser->memberof('chauffeur')}
<ul>
<li><a href="#">Volgende rit</a></li>
<li><a href="#">Foto's personeel</a></li>
</ul>
{else}
Informatie voor alle andere groepen.
{/if}
<br/>
<a href="{$url_logout}" title="{$mod->Lang('info_logout')}">{$mod->Lang('logout')}</a><br/>
<a href="{$url_changesettings}" title="{$mod->Lang('info_changesettings')}">{$mod->Lang('prompt_changesettings')}</a>
{$endform}
{else}
U heeft geen toegang tot deze pagina.
{/if}
Deze links kunnen bijvoorbeeld interne links zijn naar pagina's die wel actief ('Active' aangevinkt) zijn, maar niet zichtbaar ('Show in menu' uitgevinkt). Binnen deze pagina's/template moet je ook zorgen dat de content alleen zichtbaar is voor de juiste users/groups (op dezelfde manier als hierboven), anders kan iedereen er bij als ze de juiste url invoeren via de adresbalk.
Re: beveiligd gedeelte
Dat zou je zo op kunnen lossen:
Code: Select all
{if $ccuser->loggedin()}
{$startform}
<h3>{$prompt_loggedin} {$username}</h3>
{if $ccuser->memberof('klant') && $ccuser->memberof('chauffeur')}
<strong>Klanten opties:</strong>
<ul>
<li><a href="#">Tarieven</a></li>
<li><a href="#">Wachtijden</a></li>
</ul>
<br/>
<strong>Chauffeur opties:</strong>
<ul>
<li><a href="#">Volgende rit</a></li>
<li><a href="#">Foto's personeel</a></li>
</ul>
{elseif $ccuser->memberof('klant')}
<strong>Chauffeur opties:</strong>
<ul>
<li><a href="#">Tarieven</a></li>
<li><a href="#">Wachtijden</a></li>
</ul>
{elseif $ccuser->memberof('chauffeur')}
<strong>Chauffeur opties:</strong>
<ul>
<li><a href="#">Volgende rit</a></li>
<li><a href="#">Foto's personeel</a></li>
</ul>
{else}
Informatie voor alle andere groepen.
{/if}
<br/>
<a href="{$url_logout}" title="{$mod->Lang('info_logout')}">{$mod->Lang('logout')}</a><br/>
<a href="{$url_changesettings}" title="{$mod->Lang('info_changesettings')}">{$mod->Lang('prompt_changesettings')}</a>
{$endform}
{else}
U heeft geen toegang tot deze pagina.
{/if}
Re: beveiligd gedeelte
Of gewoon een {if} afvraging per groep....
waardoor je het menu per groep weergeeft. Bij een gebruiker die in 2 groepen zit, krijgt deze beide te zien.
Door in de template de afvraging voor de member-of te doen, zorg je ervoor dat enkel wanneer iemand die ingelogd is, de pagina te zien krijgt.
Ronny
waardoor je het menu per groep weergeeft. Bij een gebruiker die in 2 groepen zit, krijgt deze beide te zien.
Door in de template de afvraging voor de member-of te doen, zorg je ervoor dat enkel wanneer iemand die ingelogd is, de pagina te zien krijgt.
Ronny
Re: beveiligd gedeelte
Inderdaad Ronny, niet bij stil gestaan.
De code is dan ongeveer als volgt:
Als een user in beide groepen zit krijgt deze voor beide groepen de content te zien.
De code is dan ongeveer als volgt:
Code: Select all
{if $ccuser->loggedin()}
{$startform}
<h3>{$prompt_loggedin} {$username}</h3>
{if $ccuser->memberof('klant')}
<strong>Chauffeur opties:</strong>
<ul>
<li><a href="#">Tarieven</a></li>
<li><a href="#">Wachtijden</a></li>
</ul>
<br/>
{/if}
{if $ccuser->memberof('chauffeur')}
<strong>Chauffeur opties:</strong>
<ul>
<li><a href="#">Volgende rit</a></li>
<li><a href="#">Foto's personeel</a></li>
</ul>
<br/>
{/if}
<a href="{$url_logout}" title="{$mod->Lang('info_logout')}">{$mod->Lang('logout')}</a><br/>
<a href="{$url_changesettings}" title="{$mod->Lang('info_changesettings')}">{$mod->Lang('prompt_changesettings')}</a>
{$endform}
{else}
U heeft geen toegang tot deze pagina.
{/if}
Re: [Opgelost] beveiligd gedeelte
Ik ben bezig om te kijken of het nog eenvoudiger kan met de laatste versies....
In de Template, heb ik {content} vervangen, door...
In de menutemplate heb ik dan de laatste {else} vervangen door
Dit is nog niet definitief..... maar het lijkt een eenvoudige werkwijze....
Ronny
In de Template, heb ik {content} vervangen, door...
zodat een pagina enkel wordt getoond, als de gebruiker tot de groep behoord die in de "Extra page attribute 1" staat, of dat het veld geen waarde heeft zodat iedereen het mag zien.{cms_module module=CustomContent}
{if $ccuser->memberof($content_obj->GetPropertyValue('extra1')) ||$content_obj->GetPropertyValue('extra1')==''}
{title}
{content}
{else}
{global_content name='noaccess'}
{/if}
In de menutemplate heb ik dan de laatste {else} vervangen door
zodat de link enkel wordt getoond als de gebruiker behoord tot de groep die in de pagina staat.{elseif $ccuser->memberof($node->extra1) || $node->extra1==''}
Dit is nog niet definitief..... maar het lijkt een eenvoudige werkwijze....
Ronny
Re: [Opgelost] beveiligd gedeelte
Ik heb het werkend op http://ronnyk.dyndns.org/cmsms1svn/ waarmee je kunt inloggen via ronnyk/ronnyk
Vervolgens zal een pagina 'Smoelenboek' als laatste pagina in het menu getoond worden.
Ik moet nog even uitzoeken hoe het werkt met Parents, submenus etc... maar dit werkt zo wel, overigens heb ik wel iets meer aangepast aan de menu-template.
Ronny
Vervolgens zal een pagina 'Smoelenboek' als laatste pagina in het menu getoond worden.
Ik moet nog even uitzoeken hoe het werkt met Parents, submenus etc... maar dit werkt zo wel, overigens heb ik wel iets meer aangepast aan de menu-template.
Ronny