...
esup-nfc-tag-desktop : application java qui permet d’utiliser un encodeur PC/SC USB depuis une machine linux/wondows/mac disposant de Java
esup-nfc-tag-droid : application Android qui utilise le lecteur NFC du smartphone
...
Les deux applications serveurs doivent être « shibbolethisées » - voir la documentation renater : https://services.renater.fr/federation/docs/installation/sp
Matériel
Voici le matériel miunimal requis pour pouvoir mettre en place un Système de Gestion de cartes via l'environnement ESUP-SGC.
Serveur : 2 CPU, RAM > 2 Go, Disque > 20 Go
Lecteurs RFID USB Compatible PC/SC pour encodage
Cartes Mifare Desfire EV1
- Une imprimante à carte.
A cela, un Smartphone Android > 5 avec lecteur NFC
...
Carte Mifare Desfire EV1
peut également s'avérer utile par exemple.
Installation
Éléments requis
Pour avoir un système de gestion de cartes fonctionnel, l'installation minimale consiste à installer :
- un serveur tomcat avec l'application web esup
Installation
...
- -nfc-tag-server
...
- - documentation d'installation ici :
https://github.com/EsupPortail/esup-nfc-tag-server/blob/master/README.md
...
- un serveur tomcat avec l'application web esup-sgc - documentation d'installation ici :
https://github.com/EsupPortail/esup-sgc/blob/master/README.md
A noter que esup-sgc embarque de fait le client esup-sgc-client sous la forme d'un jar servie via Java Web Start (JavaWS) / Java Network Launch Protocol (JNLP).
Ce client est signé par l'Université de Rouen Normandie - vous pouvez aussi le reconstruire et le resigner vous même depuis les sources : https://github.com/EsupPortail/esup-sgc-client
Éléments optionnels
Vous pouvez également mettre en place les applications Esup-nfc-tag-desktop et Esup-nfc-tag-droid :.md
- Esup-nfc-tag-desktop
...
- :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
...
Alliées à ESUP-SGC, ces applications pourront vous permettre
- de rechercher une carte en la badgeant
- de marquer une carte comme "livrée" en la badgeant
Configurations
...
Esup-nfc-tag-server
La configuration se fait par les fichiers suivants :
...
Dans le cadre du SGC il faudra à minima configurer la connexion avec esup-sgc à l’aide de la configuration suivante :
| Bloc de code |
|---|
...
| ||
<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
...
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.
| Bloc de code | ||
|---|---|---|
| ||
<bean id="tagName" class="org.esupportail.nfctag.beans.DesfireTag" p:formatBeforeWrite="false" p:key="0000000000000000" p:keyType="DES" p:keyVersion="00"> |
...
</bean> |
Voir la documentation avancée pour l'ajout d'application Desfire sur la carte.
...
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 :
| Bloc de code |
|---|
<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 :
...
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.
| Bloc de code | ||
|---|---|---|
| ||
<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.
...
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.
| Bloc de code |
|---|
<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> |
LdapValidateService
Le SGC peut transmettre des données au LDAP lorsque la carte est activée. Dans le bean ldapValidateService il est possible de paramétrer deux types de clés : Simple ou multivaluée (ldapCardIdsMappingValue, ldapCardIdsMappingMultiValues)
Les valeurs transmissibles sont : %csn%, %reverse_csn% (le csn retourné par paires), %desfireId% (ex : identifiant contrôle d'accès), %photo%.
| Bloc de code | ||
|---|---|---|
| ||
<bean id="ldapValidateService" class="org.esupportail.sgc.services.ldap.LdapValidateService"> |
...
<property name="ldapTemplate" ref="ldapTestTemplate"/> |
...
<property name="peopleSearchFilter" value="(eduPersonPrincipalName={0})"/> |
...
<property name="ldapCardIdsMappingMultiValues"> |
...
<map> |
...
<!-- Exemple clé multi-valuée --> |
...
<entry key="supannRefId"> |
...
<list> |
...
<value>{ISO15693}%csn%</value> |
...
<value>{LEOCARTE:ACCESS-CONTROL}%desfireId%</value> |
...
</list> |
...
</entry> |
...
<!-- Exemple clé multi-valuée --> |
...
<entry key="autreExemple"> |
...
<list> |
...
<value>%reverse_csn%@ISO15693</value> |
...
</list> |
...
</entry> |
...
</map> |
...
</property> |
...
<property name="ldapCardIdsMappingValue"> |
...
<map> |
...
<!-- Exemple clé simple --> |
...
<entry key="jpegPhoto" value="%photo%"/> |
...
</map> |
...
</property> |
...
</bean> |
applicationContext-crous.xml
...
Permet d’activer l’envoi de données au CROUS via l’api
| Bloc de code |
|---|
<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
...
Permet de configurer l’envoi des données à l’api ESC (Eropean Student Card) voir : http://europeanstudentcard.eu/
| Bloc de code | ||
|---|---|---|
| ||
<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
...
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)