Arborescence des pages

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=612237478) 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. 4) afficher la version suivante »

Introduction

Cette application permet de gérer le cycle de vie des cartes NFC de votre établissement, de la demande à sa désactivation en passant par son impression, encodage et activation dans votre système d'information.

Cette application fonctionne via une authentification/identification Shibboleth et en lien avec une instance esup-nfc-tag-server

Plan du document

Concepts

Pour mettre en œuvre le système de gestion de carte il faut installer les deux solutions esup-sgc et esup-nfc-tag.

Esup-sgc :

  • Gère les cartes

  • Récupère les informations des individus dans LDAP

  • Prend en charge le workflow de demande de carte

  • Envoi des données au CNOUS

  • Envoi des données à la plateforme Européenne (europeanstudentcard.eu)
  • Envoi aux contrôles d’accès

  • Envoi aux service d'impression (repro)
  • Permet l’impression des cartes (en mode PS/PCL)

esup-sgc ne sait pas encoder les cartes.

Esup-nfc-tag :

  • Permet la lecture et l’écriture des cartes

  • Gère les différentes applications (lecture, écriture, mise à jour …)

  • Gère les périphériques sans contact (lecteur PC/SC, smartphone …)

esup-nfc-tag-server connait la structure de la carte mais communique avec esup-sgc pour récupérer le contenu à écrire dans les fichiers (ex : code d’identification pour le contrôle d’accès)

Pour lire ou encoder une carte les applications clientes suivantes sont disponibles :

  • esup-nfc-tag-desktop : application java qui permet d’utiliser un encodeur PC/SC USB

  • esup-nfc-tag-droid : application Android qui utilise le lecteur NFC du smartphone

esup-sgc inclus sont propre client pour l’encodage des cartes (esup-sgc-client). L’encodage via esup-sgc-client se passe de cette manière :

  • lecture du QR code présent sur la carte (identifiant l’individu à encoder)

  • association de la carte avec l’individu dans le SGC

  • encodage des différentes applications DESFIRE ainsi que de l’application CROUS via esup-nfc-tag-server

 

 

Schéma d’architecture de la solution

Liens

https://github.com/EsupPortail/esup-sgc

https://github.com/EsupPortail/esup-nfc-tag-server

https://github.com/EsupPortail/esup-nfc-tag-desktop

https://github.com/EsupPortail/esup-nfc-tag-droid

Pre-requis

Logiciels

Les deux applications serveurs sont « Shibbolethisées » voir la documentation renater : https://services.renater.fr/federation/docs/installation/sp

Matériel

  • Serveur : 2 CPU, RAM > 2 Go, Disque > 20 Go

  • Lecteurs RFID USB Compatible PC/SC

  • Smartphone Android > 5 avec lecteur NFC

  • Carte Mifare Desfire EV1

Installation

Esup-nfc-tag-server voir :https://github.com/EsupPortail/esup-nfc-tag-server/blob/master/README.md

Esup-sgc voir : https://github.com/EsupPortail/esup-sgc/blob/master/README.md

Esup-nfc-tag-desktop voir :https://github.com/EsupPortail/esup-nfc-tag-desktop/blob/master/README.md

Esup-nfc-tag-droid : https://github.com/EsupPortail/esup-nfc-tag-droid/blob/master/README.md

Configuration

Esup-nfc-tag-server

La configuration se fait par les fichiers suivants :

  • src/main/resources/META-INF/spring/applicationContext-custom.xml

  • src/main/resources/META-INF/spring/applicationContext-desfire.xml (voir configuration avancée)

  • src/main/resources/META-INF/spring/applicationContext-security.xml

applicationContext-custom.xml

Le fichier applicationContext-custom.xml permet de configurer les différentes applications avec lesquelles esup-nfc-tag va communiquer.

Dans le cadre du SGC il faudra à minima configurer la connexion avec esup-sgc à l’aide de la configuration suivante :

 

<bean id="csnAuthConfig" class="org.esupportail.nfctag.service.api.impl.CsnAuthConfig">

<property name="description" value="Authentification CSN"/>

</bean>

<bean id="esupSgcUpdateExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtRestWs">

<property name="isTagableUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/isTagable"/>

<property name="validateTagUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/validateTag"/>

<property name="getLocationsUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/locationsUpdater"/>

<property name="description" value="Web Service Update Esup SGC"/>

</bean>

<bean id="tagIdCheckApiEsupSgc" class="org.esupportail.nfctag.service.api.impl.TagIdCheckRestWs">

<property name="tagIdCheckUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/tagIdCheck"/>

<property name="idFromEppnInitUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/idFromEppnInit"/>

<property name="description" value="via Esup SGC"/>

</bean>

 

en remplacant les liens par ceux pointant vers votre instance d’esup-sgc

applicationContext-desfire.xml

Dans le ficher applicationContext-desfire.xml on trouve la structure et les données qui seront écrites sur la carte lors de l’encodage. Par défaut la configuration de Desfire est vide, aucune application ne sera écrite sur la carte (en dehors de l'applcation CROUS).

<bean id="tagName" class="org.esupportail.nfctag.beans.DesfireTag" p:formatBeforeWrite="false" p:key="0000000000000000" p:keyType="DES" p:keyVersion="00">
<property name="applications">
<util:list>

</util:list>
</property>
</bean>

Voir la documentation avancée pour l'ajout d'applcation Desfire sur la carte.

applicationContext-security.xml

Dans le fichier applicationContext-security.xml il faut modifier le mapping des groupes pour l’attribution des rôles Admin et Supervisor en precisant le cn des groupes concernés :

<beans:bean id="authUserDetailsService" class="org.esupportail.nfctag.security.ShibAuthenticatedUserDetailsService">

<beans:property name="mappingGroupesRoles">

<beans:map>

<beans:entry key="cn=for.esup-nfc-tag.admin,ou=groups,dc=univ-ville,dc=fr" value="ROLE_ADMIN" />

<beans:entry key="cn=for.esup-nfc-tag.supervisor,ou=groups,dc=univ-ville,dc=fr" value="ROLE_SUPERVISOR" />

</beans:map>

</beans:property>

</beans:bean>

Esup-sgc

La configuration se fait via les fichiers suivants :

  • src/main/resources/META-INF/spring/applicationContext-services.xml

  • src/main/resources/META-INF/spring/applicationContext-crous.xml

  • src/main/resources/META-INF/spring/applicationContext-paybox.xml

  • src/main/resources/META-INF/spring/applicationContext-access-control.xml

  • src/main/resources/META-INF/spring/applicationContext-security.xml

applicationContext-services.xml

UserInfo :

La première partie du fichier comporte les « UserInfoService » ainsi que les « SpelUserInfoService » . Ces deux entités ont pour but de peupler les informations des demandeurs de carte à l’aide des différentes sources de données présentent dans le SI. Trois methodes sont implémentées dans le SGC :

  • ShibUserInfoService (recupération des données via le context Shibboleth)

  • LdapUserInfoService

  • SqlUserInfoService

Les spelUserInfoService sont des règles qui s’appliquent ensuite pour calculer certains attributs de l’utilisateur.

La recherche dans les différentes sources ainsi que le calcule des règles se fait de manière séquentielle dans l’ordre défini par la propriété « p:order ». A chaque étape, quand une donnée est trouvée, elle remplace celle trouvée par l’étape précédente.

ComueNuCardIdService :

Permet de configurer le début de la plage d’identifiants, dans le cas present l’identifiant COMUE (ouverture de portes) et l’identifiant CROUS.

<bean id="cardIdService" class="org.esupportail.sgc.services.cardid.ComueNuCardIdService">

<property name="cardNfcIdCounterBegin" value="107000000100000"/>

<property name="cardCrousIdCounterBegin" value="66900000"/>

<property name="crousEncodeEnabled" value="true"/>

</bean>

crousEncodeEnabled permet de spécifier si l’application CROUS doit être écrite lors de l’encodage des cartes.

EsupNfcTagService :

Pour spécifier l’adresse du serveur esup-nfc-tag. Le SGC déclare et contrôle ses périphériques d’encodage (esup-scg-client) avec esup-nfc-tag.

<bean id="esupNfcTagService" class="org.esupportail.sgc.services.EsupNfcTagService">

<property name="restTemplate" ref="restTemplate"/>

<property name="webUrl" value="http://esup-nfc-tag.univ-ville.fr"/>

<property name="applicationName" value="Ecriture SGC"/>

<property name="location" value="Encodage ESUP SGC"/>

</bean>

applicationContext-crous.xml

ApiCrousService :

Permet d’activer l’envoi de données au CROUS via l’api

<bean id="apiCrousService" class="org.esupportail.sgc.services.crous.ApiCrousService">

<property name="enable" value="false"/>

<property name="webUrl" value="https://api-pp.nuonet.fr/v1" />

<property name="login" value="truc@univ-ville.fr" />

<property name="password" value="xxxxxxxxxxxxxxx" />

<property name="restTemplate" ref="restTemplate" />

</bean>

EsistCrousService :

Fait référence au fichier XML de calcul des tarifs CROUS

ApiEscrService :

Permet de configurer l’envoi des données à l’api ESC (Eropean Student Card) voir : http://europeanstudentcard.eu/

<bean id="europeanStudentCardService" class="org.esupportail.sgc.services.esc.ApiEscrService">

<property name="enable" value="false"/>

<property name="webUrl" value="http://api-sandbox.europeanstudentcard.eu/v1" />

<property name="key" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />

<property name="restTemplate" ref="restTemplate" />

<property name="countryCode" value="FR"/>

<property name="picInstitutionCode" value="000000000"/>

<!--

Type of cards. Possibles values are :

1 - passive card, with no electronic

2 - Smartcard without European common data zone

3 - Smartcard with European common data zone

4 - Smartcard on which application may be installed by service providers

-->

<property name="cardType" value="3"/>

</bean>

applicationContext-paybox.xml

Permet le paramétrage du module paybox dans le cas d’un renouvellement de carte payant.

applicationContext-access-control.xml

Permet de paramétrer le chemin d'export des informations pour le controle d'accès. Formats disponibles:

  • P2S
  • TIL
  • SYNCHRONIC

applicationContext-security.xml

Comme pour la configuration esup-nfc-tag, il s’agit de mapper les groups sur les rôles proposés par le SGC :

  • ADMIN

  • MANAGER

  • LIVREUR

  • UPDATER

  • CONSULT

  • USER (Liste des utilisateurs pouvant faire une demande de carte)

  • USER_NO_EDITABLE (Liste des utilisateurs dont les critères ne permettent pas l’edition de la carte, ex: dossier administratif incomplet)

  • USER_RENEWAL_PAYED (Liste des utilisateurs pouvant renouveler leur carte gratuitement)

 

  • Aucune étiquette