Pages enfant
  • 04 - Attributs utilisateur (PersonDirs)

Attributs des utilisateurs

Principe

Le portail peut utiliser des informations complémentaires sur l'utilisateur connecté pour :

  1. évaluer son appartenance à un groupe pags
  2. évaluer ses droits sur un canal ou un fragment
  3. afficher des informations à l'écran ou dans des logs

Ces informations complémentaires sont appelées attributs utilisateur.

Pour renseigner les attributs utilisateurs, le portail utilise une ou des sources de données.

Les sources de données, les attributs utilisateurs disponibles et les correspondances entre attributs utilisateurs et données des sources (colonnes de tables, entrées d'annuaires, etc.) sont paramétrés dans le fichier properties/personDirectory.xml

personDirectory.xml

Sources de données

Cette partie de personDirectory.xml est paramétrable directement à partir du fichier de configuration du portail config.properties :

Pour choisir un annuaire Ldap comme source de données, indiquer

esup.ldap.persondirs.use=true

L'annuaire est défini dans les paramètres esup.ldap.xxx

Pour indiquer la base de données du portail comme source de données, indiquer :

esup.db.persondirs.use=true

L'utilisation la plus commune est un annuaire Ldap. je ne me baserai que là-dessus pour la description des attributs :

Attributs

Par défaut, personDirectory.xml est livré avec une correspondance attribut uPortal/attribut ldap sur les attributs supann classiques.

Pour modifier ces attrbuts :

Copier update/uPortal/properties/personDirectory.xml dans custom/uPortal/properties/personDirectory.xml et travailler dans custom

Rechercher le bean uPortalLdapAttributeSource :

    <!-- LDAP Person Attribute Source, uses the default ILdapServer via the LdapServices.getDefaultLdapServer method call -->
    @bg.use.ldap.persondirs@ <bean id="uPortalLdapAttributeSource" class="org.jasig.portal.services.persondir.support.LdapPersonAttributeDaoImpl">
        <property name="ldapServer">
            <ref bean="defaultLdapServer"/>
        </property>
        <property name="queryAttributes">
            <list>
                <value>username</value>
            </list>
        </property>
        <property name="query">
            <value>(uid={0})</value>
        </property>
        <property name="ldapAttributesToPortalAttributes">
            <map>
                <entry key="eduPersonPrimaryAffiliation">
                    <set>
                        <value>uPortalTemplateUserName</value>
                        <value>eduPersonPrimaryAffiliation</value>
                    </set>
                </entry>
                <entry key="supannCodeINE">          		<value>supannCodeINE</value></entry>
                <entry key="supannEtuId">            		<value>supannEtuId</value></entry>
                <entry key="supannEmpId">            		<value>supannEmpId</value></entry>
                <entry key="@esup.ldap.groups.etu.formation@">  <value>esupEtuFormation</value></entry>
                <entry key="eduPersonAffiliation">          	<value>eduPersonAffiliation</value></entry>
                <entry key="eduPersonNickname">          	<value>eduPersonNickname</value></entry>
                <entry key="eduPersonPrincipalName">        	<value>eduPersonPrincipalName</value></entry>
                <entry key="cn">                            	<value>cn</value></entry>
                <entry key="description">                   	<value>description</value></entry>
                <entry key="displayName">                   	<value>displayName</value></entry>
                <entry key="facsimileTelephoneNumber">      	<value>facsimileTelephoneNumber</value></entry>
                <entry key="givenName">                     	<value>givenName</value></entry>
                <entry key="mail">                          	<value>mail</value></entry>
                <entry key="sn">                            	<value>sn</value></entry>
                <entry key="telephoneNumber">               	<value>telephoneNumber</value></entry>
                <entry key="uid">                           	<value>uid</value></entry>
            </map>
        </property>
    </bean>
        <bean id="defaultLdapServer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="staticMethod">
            <value>org.jasig.portal.ldap.LdapServices.getDefaultLdapServer</value>
        </property>
    </bean> @end.use.ldap.persondirs@

Dans la balise map, modifiez/ajoutez les balises entry :

L'attribut uPortal (indiqué par value) prendra la valeur de l'attribut Ldap (indiqué par key)

Il est possible de faire correspondre un attribut Ldap à plusieurs attributs uPortal en spécifiant la balise set dans entry et en listant plusieurs value (voir l'entrée eduPersonPrimaryAffiliation)

  • Aucune étiquette