Arborescence des pages

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=622657540) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 7) afficher la version suivante »

L'objectif est d'utiliser esup-sgc pour pousser les cartes Mifare Desfire pré-encodées Izly dans IZLY via l'API lescrous.fr

Les cartes sont imprimées, encodées et entrôlés en dehors de l'environnement d'esup-sgc depuis le système de contrôle d'accès de l'établissement.

esup-sgc doit être configuré pour uniquement récupérer et envoyer à Izly toutes les informations correspondant à l'individu et 'sa carte izly'.

Seule cette briques esup-sgc est à installer ici ; nous pouvons dans ce cas d'usage nous passer d'esup-nfc-tag et des clients associés.

Carte Izly / SmartCard

Pour les informations spécifiques à la carte izly, l'importation du CSV Izly (récupéré avec l'ensemble des cartes à la livraison) est à réaliser en 1 import : 

https://www.esup-portail.org/wiki/pages/viewpage.action?pageId=614989864#Importationde'cartes'dansESUP-SGC/Migrationdesdonn%C3%A9es-Importdonn%C3%A9esCROUS

Utilisateur / RightHolder

Les mises à jour des informations des utilisateurs et du CSN de la carte peuvent être réalisées en s'appuyany sur un ldap ou/et tables sql.

Les champs à renseigner parmi ceux listés sur la page de documentation Configurations ESUP-SGC sont ceux-ci : 

eppn 
email 
supannCodeINE
affichage / construction identifiant ESCR
firstnameAffichage / moteur de recherche
nameAffichage / moteur de recherche
schacDateOfBirthDate de naissance - obligatoire dans les contrôles d’accès
schacExpiryDateDate de fin de droits – les cartes de l’individu sont marquées comme caduques cette date passée.
referenceStatutPopulation crous (psg, etd, prs, hbg, fct, fpa, stg) - permet de calculer le tarif et société crous depuis le fichier ESIST.xml
indiceIndice du personnel - permet de calculer le tarif et société crous depuis le fichier ESIST.xml
supannEtablissementCode RNE Établissement - permet de calculer le tarif et société crous depuis le fichier ESIST.xml
supannRefId4ExternalCard

supannRefId donnant des numéros de cartes 'externes', cad non issus du SGC (et donc issus d'un autre SGC)

Dans ce champ multivalué, on attend une valeur comme {ISO15693}04010203ABCDEF80

eduPersonAffiliationrécupéré depuis ldap, nous permet notamment ici de calculer referenceStatut

 

Configurations 

  • Dans applicationContext-crous.xml, en plus de mettre 'true' à la propriété enable de apiCrousService, on met true à use4ExternalCard dans crousService : 
<bean id="crousService" class="org.esupportail.sgc.services.crous.CrousService">
  <property name="use4ExternalCard" value="true"/>
</bean>

 

  • Dans applicationContext-services.xml on a un userInfoService ainsi : 
<bean id="ldapUserInfoService" class="org.esupportail.sgc.services.userinfos.LdapUserInfoService" p:order="2">
  <property name="eppnFilter" value=".*@emse.fr"/>
  <property name="ldapTemplate" ref="ldapTemplate"/>
  <property name="sgcParam2ldapAttr">
  	<map>
      <entry key="email" value="mail"/>
      <entry key="supannCodeINE" value="supannCodeINE"/>
      <entry key="firstname" value="givenname"/>
      <entry key="name" value="sn"/>
      <entry key="schacDateOfBirth" value="schacDateOfBirth"/>
      <entry key="supannRefId4ExternalCard" value="supannRefId"/>
      <entry key="jpegPhoto4ExternalCard" value="jpegPhoto"/>
      <entry key="schacExpiryDate" value="schacExpiryDate"/>
      <entry key="eduPersonAffiliation" value="eduPersonAffiliation"/>
  	</map>
  </property>	
</bean>
jpegPhoto4ExternalCard est optionnel, celà permet d'afficher la photo dans le sgc

On complète ces informations récupérées depuis ldap par des règles ainsi : 

<bean id="spelUserInfoService" class="org.esupportail.sgc.services.userinfos.SpelUserInfoService" p:order="3">
	<property name="sgcParam2spelExp">
		<map>
			<entry key="referenceStatut" value="#userInfosInComputing['eduPersonAffiliation'] != Null and #userInfosInComputing['eduPersonAffiliation'].contains('student') ? 'etd' : 'psg'" />
			<entry key="indice" value="'0'" />
	        <entry key="supannEtablissement" value="'{UAI}0420094Z'"/>
		</map>
	</property>
</bean>

 

  • dans applicationContext-crous.xml on doit renseigner un fichier xml ESIST - rappel : ce fichier sert à calculer les codes tarif et société crous en fonction de l'établissement de l'individu (supannEtablissement), du type d'individu (referenceStatut) de l'indice du personnel (indice)
    • à l'EMSE la mise en oeuvre de cette synchronisation étant destinée dans un premier temps aux étudiants, les codes société / tarif résultant de ce calcul doivent être de 10 / 1
    • aussi le fichier ESIST.xml peut se ramener à celà simplement : 
File Edit Options Buffers Tools XML Text Help                                                                                                                                                                      
<?xml version="1.0" encoding="ISO-8859-1"?>
<esist>
<dateG>2018010209494986</dateG>
<RneEmployeur>
<row>
<rne>0420094Z</rne>
<employeur>1</employeur>
</row>
</RneEmployeur>
<Statut>
<row>
<statut>etd</statut>
<libelle>etudiant</libelle>
</row>
</Statut>
<EmployeurStatutIndiceSocieteTarif>
<row>
<codeemployeur>1</codeemployeur>
<referencestatut>etd</referencestatut>
<indicemin>0</indicemin>
<indicemax>9999</indicemax>
<codesociete>10</codesociete>
<codetarif>1</codetarif>
</row>
</EmployeurStatutIndiceSocieteTarif>
</esist>

 

  • Par rapport au cas d'usage très contraint / limité ici d'esup-sgc, notons 
    • que seul esup-sgc est nécessaire
    • que applicationContext-services.xml peut être nettoyé, on supprime notamment 
      • les userInfoService autres que shib, ldap et le 'spel' donné ci-avant
      • cardIdsService,
      • esupNfcTagService, 
      • ldapValidateService et beans ldap associés,
      • ipService
    • on peut aussi supprimer entièrement les fichiers (ou plutôt les beans contenus dans ces fichiers pour éviter les conflits lors des màj par git) de 
      • applicationContext-acces-control.xml
      • applicationContext-paybox.xml
    • dans applicationContext-security.xml seul le rôle ROLE_ADMIN est à renseigner
    • dans applicationContext-crous.xml  on peut supprimer les beans associés à la carte étudiante européenne : europeanStudentCardService et escUidFactoryService

Fonctionnement

Pour qu'un utilisateur ait son compte et sa carte synhcronisée avec izly par esup-sgc, il fait ensuite : 

  • qu'il se connecte à esup-sgc et active le service
  • ou que cette importation/activation soit réalisée via un appel à l'API REST : 
curl -X POST 'https://esup-sgc.emse.fr/wsrest/api/externalCardEnable?eppn=toto@emse.fr&crous=true'

Une fois importée, on retrouve la 'carte'  dans la vue manager d'esup-sgc

La synchronisation est ensuite faite régulièrement, cf la configuration du fichier applicationTasksContext.xml

Si le CSN change côté LDAP, une nouvelle carte est créer et activée en conséquence, l'ancienne étant alors désactivée.

 

  • Aucune étiquette