[Opgelost] beveiligd gedeelte Topic is solved

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
iStevo

[Opgelost] beveiligd gedeelte

Post by iStevo »

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.
Last edited by iStevo on Tue Sep 23, 2008 8:43 am, edited 1 time in total.
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: beveiligd gedeelte

Post by RonnyK »

Je zou inderdaad zo kunnen werken, waarbij je dan:
{if $ccuser->memberof('groep1')}
wordt afgevraagd...

Ronny
sn3p
Forum Members
Forum Members
Posts: 169
Joined: Mon Oct 15, 2007 2:27 pm

Re: beveiligd gedeelte

Post by sn3p »

De code moet goed zijn volgens mij, klopt de naam van de groep wel?
Probleren dit eens:

Code: Select all

{if $ccuser->loggedin() && $ccuser->memberof('personeel')}
en als dat niet lukt alleen dit:

Code: Select all

{if $ccuser->loggedin()}
Dit laatste is niet groep afhankelijk maar dan weet je in ieder geval of een user goed is ingelogd.
Last edited by sn3p on Fri Sep 19, 2008 2:16 pm, edited 1 time in total.
sn3p
Forum Members
Forum Members
Posts: 169
Joined: Mon Oct 15, 2007 2:27 pm

Re: beveiligd gedeelte

Post by sn3p »

Na het inloggen wordt de "Logout Template" getoond, hier kan je user specefieke data tonen als je wilt, bijvoorbeeld:

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}
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.
sn3p
Forum Members
Forum Members
Posts: 169
Joined: Mon Oct 15, 2007 2:27 pm

Re: beveiligd gedeelte

Post by sn3p »

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}
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: beveiligd gedeelte

Post by RonnyK »

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
sn3p
Forum Members
Forum Members
Posts: 169
Joined: Mon Oct 15, 2007 2:27 pm

Re: beveiligd gedeelte

Post by sn3p »

Inderdaad Ronny, niet bij stil gestaan.
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}
Als een user in beide groepen zit krijgt deze voor beide groepen de content te zien.
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: [Opgelost] beveiligd gedeelte

Post by RonnyK »

Ik ben bezig om te kijken of het nog eenvoudiger kan met de laatste versies....

In de Template, heb ik {content} vervangen, door...
        {cms_module module=CustomContent}
        {if $ccuser->memberof($content_obj->GetPropertyValue('extra1')) ||$content_obj->GetPropertyValue('extra1')==''}
        {title}
        {content}
        {else}
        {global_content name='noaccess'}
        {/if}
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.

In de menutemplate heb ik dan de laatste {else} vervangen door
{elseif $ccuser->memberof($node->extra1) || $node->extra1==''}
zodat de link enkel wordt getoond als de gebruiker behoord tot de groep die in de pagina staat.

Dit is nog niet definitief..... maar het lijkt een eenvoudige werkwijze....

Ronny
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: [Opgelost] beveiligd gedeelte

Post by RonnyK »

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
Post Reply

Return to “Dutch - Nederlands”