Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Par exemple, lors que vous avez fini la configuration du fichier "src/main/resources/META-INF/spring/applicationContext-custom.xml" vous pouvez exécuter les commandes suivantes depuis la racine de vos sources (ex : /opt/esup-nfc-tag):

Bloc de code
languagebash
themeRDark
git add src/main/resources/META-INF/spring/applicationContext-custom.xml
git commit -m "config prod univ-ville-fr"

...

  • pour du contrôle d'accès par exemple
  • ou pour générer l'identifiant de carte crous si on n'opte pas pour l'usage de carte préencodé crous et qu'on souhaite qu'esup-sgc et esup-nfc-tag se chargent de cet encodage. Aussi dans ce cadre crousEncodeEnabled à true permet de spécifier que l’application CROUS doit être écrite lors de l’encodage des cartes.
Bloc de code
languagexml
themeRDark
	<bean id="cardIdsService" class="org.esupportail.sgc.services.cardid.CardIdsService">
		<property name="cardIdServices">
			<list>
				<bean class="org.esupportail.sgc.services.cardid.ComueNuAccessControlCardIdService">
					<property name="appName" value="access-control"/>
					<property name="idCounterBegin" value="XXXXXXXXXXXXXXX"/>
					<property name="postgresqlSequence" value="card_sequence"/>
				</bean>
				<bean class="org.esupportail.sgc.services.cardid.ComueNuBuCardIdService">
					<property name="appName" value="bu"/>
				</bean>
				<bean class="org.esupportail.sgc.services.cardid.CnousCardIdService">
					<property name="appName" value="crous"/>
					<property name="idCounterBegin" value="XXXXXXXX"/>
					<property name="postgresqlSequence" value="crous_smart_card_sequence"/>
					<property name="crousEncodeEnabled" value="false"/>
				</bean>
			</list>
		</property>
	</bean>

...

Voici un exemple de configuration pour activer une telle fonctionnalité

Bloc de code
languagexml
themeRDark
<bean id="papercutValidateService" class="org.esupportail.sgc.services.papercut.PapercutService">
  <property name="authToken" value="mon-auth-token-papercut-positionne-dans-conf-avancee" />
  <property name="server" value="papercut.univ-ville.fr" />
  <property name="scheme" value="https" />
  <property name="port" value="443" />
  <property name="accountName" value="" />
  <property name="papercutUidFromEppnRegex" value="([^@]*)@.*"/>
  <property name="cardNumberAttribute" value="card-number"/>
</bean>

...

Exemple d'un tel script cgi python validate-example-sgc.py est donné ici  :

Bloc de code
languagepy
themeRDark
#!/usr/bin/python                                                                                                                                                                                                  
# -*- coding: utf-8 -*-                                                                                                                                                                                            
import cgi
import requests

arguments = cgi.FieldStorage()
eppn = arguments['eppn'].value

print "Content-Type: text/plain"
print ""
print eppn

resp = requests.get(url = 'https://esup-sgc.univ-ville.fr/wsrest/api/get?eppn=%s' % eppn)

csn = ''
acccesControlId = ''
data = resp.json()
for user in data :
    for card in user['cards'] :
        if card['etat'] == 'ENABLED' :
            csn = card['csn']
			acccesControlId = card['desfireIds']['access-control']
open_file = open('/opt/export-sgc/a.txt', 'a+b')
open_file.write('card enabled for %s : csn -> %s, access-control : %s\n' % (eppn, csn, acccesControlId))
open_file.close()
print 'OK'
 

...

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

Bloc de code
languagexml
themeRDark
<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="2"/>
</bean>

...

Ce fichier applicationTasksContext.xml vous permet de régler la synchronisation régulière (notez que seule la synchronisation des groupes est en fait active par défaut !), une configuration de production pourra être celle-ci : 

Bloc de code
languagexml
themeRDark
<task:scheduled-tasks scheduler="sgcScheduler">
  <task:scheduled ref="ldapGroup2UserRoleService" method="syncAllGroupsOnDb" fixed-delay="300000" initial-delay="10000"/>
  <task:scheduled ref="resynchronisationService" method="synchronizeAllUsersInfos" fixed-delay="21600000" initial-delay="10000"/>
</task:scheduled-tasks>

...

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

Bloc de code
languagexml
themeRDark
<bean id="csnAuthConfig" class="org.esupportail.nfctag.service.api.impl.CsnAuthConfig">
 <property name="description" value="Authentification CSN"/>
</bean>
<bean id="esupSgcWriteExtApi" 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/locations"/>
 <property name="description" value="Web Service Write 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>

...

Dans ce même fichier se trouve les IP des machines ayant le droit d'accéder au Web Service d'esup-nfc-tag-server : 

Bloc de code
themeRDark
<intercept-url pattern="/wsrest/**" access="hasIpAddress('127.0.0.1')" /> <!-- Esup-SGC IP Address --> 

La sécurité de ces accès Web Service se fait en effet simplement par ce filtrage IP. Aussi ici, vous pouvez mettre l'IP d'esup-sgc notamment (vous pouvez mettre plusieurs IP en utilisant 'or') : 

Bloc de code
themeRDark
<intercept-url pattern="/wsrest/**" access="hasIpAddress('127.0.0.1') or hasIpAddress('192.168.1.2')" /> <!-- Esup-SGC IP Address --> 

...