...
| Nom du champ esup-sgc | Usage | Obligatoire | Source à 'privilégier' / Format |
|---|---|---|---|
| eppn | Identifiant métier : eduPersonPrincipalName | Oui | eduPersonPrincipalName, identifiant métier dans esup-sgc, permet par défaut de faire le lien -> shib, ldap et sql |
| Envoi d’email d’information lors de l’évolution de la carte ; ticket paybox, ... et aussi pour crous/izly → obligatoire | Oui | shib/ldap - champ mail | |
| eduPersonPrimaryAffiliation | Catégorisation population – moteur de recherche | Non | shib/ldap - champ eduPersonPrimaryAffiliation |
| supannEtuId | moteur de recherche | Non | shib/ldap - champ supannEtuId |
| supannEmpId | moteur de recherche | Non | shib/ldap - champ supannEmpId |
| supannCodeINE | affichage / construction identifiant ESCR / identfiant crous/izly pour les étudiants → obligatoire dans CROUS/IZLY et ESCR | Oui | shib/ldap - champ supannCodeINE |
| supannEntiteAffectationPrincipale | moteur de recherche | Non | shib/ldap - champ supannEntiteAffectationPrincipale |
| firstname | Affichage / moteur de recherche | Oui | shib/ldap - champ givenname |
| name | Affichage / moteur de recherche | Oui | shib/ldap - champ sn |
| schacDateOfBirth | Date de naissance - obligatoire dans les contrôles d’accès. | Oui | shib/ldap - champ schacDateOfBirth |
| schacExpiryDate | Date de fin de droits – les cartes de l’individu sont marquées comme caduques cette date passée. Format UTC : yyyyMMddHHmmss'Z' Cette date est également envoyée aux services qui ont besoin d'une date de fin (expiration) telles que les contrôles d'accès, ESCR, le CROUS (dueDate). | Oui | shib/ldap - champ schacExpiryDate |
| referenceStatut | Population crous (psg, etd, prs, hbg, fct, fpa, stg) - permet de calculer le tarif et société crous depuis le fichier ESIST.xml | Oui | sql |
| indice | Indice du personnel - permet de calculer le tarif et société crous depuis le fichier ESIST.xml | Non | sql |
| secondaryId | Identifiant secondaire quelconque – affichage / moteur de recherche / web service spécificité COMUE NU : doit correspondre au leocode | Non | ... |
| institute | Établissement, affichage ... | Non | règle d'un spelUserInfoService : nom (libellé) de l'établissement |
| supannEtablissement | Code RNE Établissement - permet de calculer le tarif et société crous depuis le fichier ESIST.xml Depuis la 1.1.1, ce code RNE ainsi récupéré est envoyé dans l'API CROUS en tant que rneOrgCode | Oui | shib/ldap - champ supannEtablissement code UAI / RNE : |
| address | Affichage / moteur de recherche | Non | peut correspondre à supannEntiteAffectationPrincipale ou champs sql spécifique |
| externalAddress | Affichage / moteur de recherche | Non | |
| recto1 | Libellé sur recto | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| recto2 | Libellé sur recto | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| recto3 | Libellé sur recto | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| recto4 | Libellé sur recto | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| recto5 | Libellé sur recto | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| verso1 | Libellé sur verso (dématérialisé) | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| verso2 | Libellé sur verso (dématérialisé) | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| verso3 | Libellé sur verso (dématérialisé) | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| verso4 | Libellé sur verso (dématérialisé) | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| verso5 | Libellé sur verso (dématérialisé) | Non | ldap, sql, ou/et calculé via des règles d'un spelUserInfoService |
| freeField1 | Champ libre - peut servir à la recherche/affichage | Non | libre |
| freeField2 | Champ libre - peut servir à la recherche/affichage | Non | libre |
| freeField3 | Champ libre - peut servir à la recherche/affichage | Non | libre |
supannRefId4ExternalCard | supannRefId donnant des numéros de cartes 'externes', cad non issus du SGC (et donc issus d'un autre SGC) Déprécié : merci d'utiliser csn4ExternalCard et control4ExternalCard | Non | shib/ldap - champ supannRefId - atend en dur |
| csn4ExternalCard | csn des cartes 'externes', cad non issus du SGC (et donc issus d'un autre SGC) | Non | le-numero-csn (on pourra utiliser le champ supannRefId pour le faire transiter) |
| access-control4ExternalCard | numéro de carte de contrôle d'accès des cartes 'externes', cad non issus du SGC (et donc issus d'un autre SGC) | Non | le-numero-access-control (on pourra utiliser le champ supannRefId pour le faire transiter) |
| jpegPhoto4ExternalCard | jpegPhoto donnant la photo de cartes 'externes', cad non issus du SGC (et donc issus d'un autre SGC) | Non | shib/ldap - champ jpegPhoto sql : jpegPhoto correspondant à une photo jpeg exportée en base64 |
| jpegPhoto | jpegPhoto donnant la photo par défaut pour un utilisateur : c'est cette photo qui est proposée par défaut lors de la première demande de carte ou via la demande de carte via l'API REST (sans spécifier une photo spécifique) | Non | shib/ldap - champ jpegPhoto sql : jpegPhoto correspondant à une photo jpeg exportée en base64 |
| userType | affichage : onglet par userType | Oui | règle d'un spelUserInfoService Attention, le nombre maximal de caractères du userType est limité à 3 ; les libellés à donner dans les messages i18n sont libres quand à eux ; |
| template | thème (template) de carte à utiliser | Oui | règle d'un spelUserInfoService - doit correspondre à une clef de template |
| editable | true ou false selon que l'utilisateur est 'éditable ou non' | Non | remplace l'usage de ROLE_USER_NO_EDITABLE (qui en tant que 'groupe' doit forcément correspondre à un groupe/champ ldap) |
| requestFree | true ou false selon que l'utilisateur doit payer le renouvellement de la carte | Non | remplace l'usage de ROLE_USER_RENEWAL_PAYED (qui en tant que 'groupe' doit forcément correspondre à un groupe/champ ldap) si utilisé, il vous faut supprimer la référence à ROLE_USER_RENEWAL_PAYED dans sgcMappingGroupesRoles (et inversement) |
| blockUserMsg | Texte HTML affiché à l'utilisateur (vue utilisateur) en lieu et place du formulaire de demande de carte. Si vide (ou non spécifié dans la configuration), le formulaire de demande eest inchangé simplement. | Non | règle d'un spelUserInfoService - peut permettre de personnaliser le message disant à l'utilisateur qu'il ne peut pas demander de carte actuellement via eusp-sgc (car son inscription n'est pas en règle par exemple). |
| synchronize | Champ permettant d'indiquer que l'utilisateur (et ses cartes) doit être synchronisé depuis les userInfoServices. | Non | règle d'un spelUserInfoService - dans la configuration donnée par défaut, on met synchronize à 'false' pour les utilisateurs n'ayant plus d'adresses mail de renseignées dans le Système d'Information (ldap/bd). |
| academicLevel | Champ academicLevel permettant de transmettre le niveau d'étude de l'étudiant (en cours) à l'API ESCR (carte étudiante européenne). Ce niveau, si transmis, est notamment affiché derrière l'url correrspondant au qrcode de la carte étudiante européenne (page internet précisant si l'individu est effectivement étudiant ). | Non | Cf la doc de l'API ESCR : |
| pic | Champ pic utilisé pour générer l'ESCN en utilisant un pic spécifique à l'étudiant ciblé en lieu et place du pic donné par défaut dans la configuration du bean escUidFactoryService de applicationContext-crous.xml ; utile pour un esup-sgc servant plusieurs établissements et relié à ESCR. | Non |
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
<bean id="ldapUserInfoService" class="org.esupportail.sgc.services.userinfos.LdapUserInfoService" p:order="2"> <property name="eppnFilter" value=".*@univ-ville\.fr"/> <property name="ldapTemplate" ref="ldapTemplate"/> <property name="sgcParam2ldapAttr"> <map> .... <entry key="memberOf" value="memberOf"/> </map> </property> </bean> |
groupService :
Permet de récupérer ou constituer des groupes qui seront utiliser pour donner des rôles aux utilisateurs.
Par défaut, esup-sgc propose de récupérer les groupes du ldap de type groupOfNames, groupes usuels dans un annuaire de type supann.
On trouve ainsi la définition du bean comme ceci :
| Bloc de code | ||
|---|---|---|
| ||
<bean id="groupService" class="org.esupportail.sgc.services.ldap.LdapGroupService">
<property name="ldapTemplate" ref="ldapTemplate"/>
<property name="groupSearchBase" value="ou=groups" />
<property name="groupSearchFilter" value="member={0}"/>
<property name="memberSearchBase" value="ou=people"/>
<property name="memberSearchFilter" value="memberOf={0}"/>
</bean> |
Mais il est possible également de calculer ces groupes via des filtres ldap :
| Bloc de code | ||
|---|---|---|
| ||
<bean id="groupService" class="org.esupportail.sgc.services.ldap.LdapFilterGroupService">
<property name="ldapTemplate" ref="ldapTemplate"/>
<property name="ldapFiltersGroups">
<map>
<entry key="app-sgc-admins" value="supannEntiteAffecation=DSI"/>
<entry key="app-sgc-students" value="eduPersonAffiliation=student"/>
</map>
</property>
</bean> |
Ou encore via des règles définis en SpEl (Spring Expression Language) :
| Bloc de code | ||
|---|---|---|
| ||
<bean id="groupService" class="org.esupportail.sgc.services.ldap.SpelGroupService">
<property name="groups4eppnSpel">
<map>
<entry key="app-sgc-admins" value="#user['supannEntiteAffecation'] != Null and #user['supannEntiteAffecation'] matches '.*DSI.*'"/>
<entry key="app-sgc-all" value="true"/>
</map>
</property>
</bean> |
Et on peut enfin constituer un groupService qui calculera les groupes via autant de groupService intermédiaires qu'on le souhaite.
Cela peut permettre d'utiliser plusieurs ldap, des groupes ldap et des filtres ldap, des règles pour certains groupes, etc.
Exemple :
| Bloc de code | ||
|---|---|---|
| ||
<bean id="groupService" class="org.esupportail.sgc.services.ldap.MultiGroupService">
<property name="groupServices">
<list>
<ref bean="ldapGroupService"/>
<ref bean="spelGroupService"/>
</list>
</property>
</bean> |
Où ldapGroupService et spelGroupService seront eux-mêmes définis via des configurations comme présentées ci-dessus (en valuant id par ldapGroupService et spelGroupService en lieu et place de groupService).
cardIdsService :
Permet de configurer la génération d'identifiants qui pourront être codés dans la carte par esup-nfc-tag :
...