authRedirect_pre_ger.jpg

Zuweisung der Rollen-Rechte zu den beiden Content-Knoten

1. PRIMAERE AUTHENTISIERUNG: Ein Content-Knoten für das initiale Einloggen (für alle gleich); hier wird die method pageelement_IndexAuthUser.dtml in einem Textabschnit eingesetzt oder über diesen aus der Template-Ebene aufgerufen. Die Methode erzeugt einen Redirect.

2. PERSÖNLICHER FOLDER: individueller Content-Folder im Data-Knoten; hier liegen die persönlichen Daten, die von anderen Usern nicht eingesehen werden können.

Die Methode pageelement_IndexAuthUser.dtml liest den username aus der primaeren Authentisierung aus und lenkt den Request auf den ersten individuellen Folder um. Alternativ kann man mit der gleichen Methode eine Liste der persönlichen Folder ausgeben und als Linkliste ausgeben, die der eingeloggte User dann explizit auswählen kann.

<!-- pageelement_IndexAuthUser -->

<dtml-comment>
<!-- table of contents based upon users authentification -->
<!-- redirecting to the first PAGE Object -->
<!-- Author: Dr. F Hoffmann -->
<!-- Date: Jun 09 2005 -->
<!-- 1. iterate all nodes of the user that he has been invited to -->
<!-- 2. check wether the current id is in one of the corresponding --> 
<!-- node paths in the correct language -->
</dtml-comment>


<!-- please define your entry node -->
<dtml-in "content.e164.e166.filteredChildNodes(REQUEST,PAGES)">

<dtml-if sequence-start>
  <h2>Access for user: <i><dtml-var AUTHENTICATED_USER></i></h2>
</dtml-if>
<ul>

<dtml-let nodes="getUserAttr(AUTHENTICATED_USER,'nodes',{})" 
  nodekeys="nodes.keys()">
  <dtml-in nodekeys>
    <dtml-let seqindex=sequence-index nodekey=sequence-item 
     nodevalue="nodes[nodekey]" 
     ob="getLinkObj(nodekey,REQUEST)">
    <dtml-if ob>               
      <dtml-call "REQUEST.set('ob_path_id_list',[])">
      <dtml-in "ob.breadcrumbs_obj_path()">
        <dtml-call "ob_path_id_list.append('%s'%getId())">
      </dtml-in>
      <dtml-if "this().getId() in ob_path_id_list and
        lang in nodevalue.get('langs',[])">
<dtml-unless "REQUEST['URL'].find('manage')>0">
        <!--  redirects to the first item -->
        <dtml-call "RESPONSE.redirect(getHref2IndexHtml(REQUEST,deep=0))">
        <!-- /redirects to the first item -->
</dtml-unless>
        <li>
        <a href="<dtml-var "getHref2IndexHtml(REQUEST,deep=0)">">
        <dtml-var "getTitle(REQUEST)"></a>    
        <dtml-if "getObjProperty('attr_dc_description',REQUEST)">
          <br /><dtml-var "getObjProperty('attr_dc_description',REQUEST)">
        </dtml-if>   
        </li>
      </dtml-if>
    </dtml-if>
    </dtml-let>
  </dtml-in>
</dtml-let>
</ul>
</dtml-in>

<!-- /pageelement_IndexAuthUser -->

Erstellt von: Dr. Frank Hoffmann , erstellt am:  27.06.2008 , zuletzt geändert: 29.09.2010