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.

Sommaire

Pré-requis

...

Une fois le SP Shibboleth et Apache configurés usuellement (voir : https://services.renater.fr/federation/docs/installation/sp), en plus de l'usuel /secure, il faut sécuriser /manager, /admin et /nfc en ajoutant ceci à la conf apache (à adapter cependant en fonction des versions d'Apache et mod_shib) :

Bloc de code
languagetext
themeRDarkxml
<Location /secure>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
ShibUseHeaders On
</Location>


<Location /manager>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
ShibUseHeaders On
</Location>


<Location /admin>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
ShibUseHeaders On
</Location>

<Location /nfc>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
ShibUseHeaders On
</Location>

...

  • pg_hba.conf : ajout de
Bloc de code
languagetext
themeRDarkbash
host all all 127.0.0.1/32 password
  • redémarrage de postgresql
  • psql

Bloc de code
languagesql
themebashRDark
create database esupnfctag;
create USER esupnfctag with password 'esup';
grant ALL ON DATABASE esupnfctag to esupnfctag;

...

Pensez à paramétrer les espaces mémoire JVM :

Bloc de code
languagebash
themeRDark
export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"

Pour maven :

Bloc de code
languagebash
themeRDark
export MAVEN_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"

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

Bloc de code
languagebash
themeRDark
cd /opt
git clone https://github.com/EsupPortail/esup-nfc-tag-server

...

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

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 une configuration d'authentification de carte par CSN :

Bloc de code
languagexml
themeRDark
<bean id="csnAuthConfig" class="org.esupportail.nfctag.service.api.impl.CsnAuthConfig">
<property name="description" value="Authentification CSN"/>
</bean>

Pour une configuration d'authentification de carte par Mifare Desfire AES :

Bloc de code
languagexml
themeRDark
<bean id="desfireAuthConfig" class="org.esupportail.nfctag.service.api.impl.DesfireAuthConfig">
	<property name="desfireKeyNumber" value="01"/>
	<property name="desfireAppId" value="A123F1"/>
	<property name="desfireAppName" value="test-app"/>
	<property name="readFileCommand" value="90BD0000070000000016000000"/>
	<property name="desfireKey" value="/var/local/key"/>
	<property name="description" value="Authentification DESFIRE"/>
</bean>

...

Exemple TagIdCheck

Bloc de code
languagexml
themeRDark
<bean id="tagIdCheckApiCarteCulture" class="org.esupportail.nfctag.service.api.impl.TagIdCheckRestWs">
	<property name="tagIdCheckUrl" value="https://carte-culture.univ-rouen.fr/nfc-ws/tagIdCheck"/>
	<property name="description" value="via Carte Culture"/>
</bean>

...

Pour tester l'application rapidement, ajouter ce tagIdCheck (qui retournera toujours un résultat): 
Bloc de code
languagexml
themeRDark
<bean id="tagIdCheckApiDummy" class="org.esupportail.nfctag.service.api.impl.TagIdCheckDummyWs">
	<property name="description" value="TagIdCheckDummy"/>
</bean>

...

Exemple AppliExtDummy

Bloc de code
languagexml
themeRDark
<bean id="exempleDummyExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtDummy">
   	<property name="description" value="Salle de test"/>
   	<property name="locationsNames">
   		<util:list>
   			<value>Salle de test</value>
   		</util:list>
   	</property>
	<property name="eppnFilter" value=".*"/>
</bean>

...

Exemple AppliExtRestWs

Bloc de code
languagexml
themeRDark
<bean id="esupSgcExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtRestWs">
	<property name="isTagableUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/isTagable"/>
	<property name="validateTagUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/validateTag"/>
	<property name="locationsUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/getLocations"/>
<!--   	<property name="displayUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/verso"/> -->
	<property name="description" value="Web Service Carte Culture"/>
	<property name="backgroundColor" value="rgb(121, 119, 116)"/>
	<property name="header" value="https://carte-culture.univ-rouen.fr/resources/images/logo.jpg"/>
</bean>

...

src/main/resources/META-INF/spring/database.properties

Bloc de code
languagetext
themeRDark
database.driverClassName=org.postgresql.Driver

...


database.url=jdbc\:postgresql\://localhost\:5432/esupnfctag

...


database.username=esupnfctag

...


database.password=esup


Logs

src/main/resources/logback.xml

...

Obtention du war pour déploiement sur tomcat ou autre :

Bloc de code
languagebash
themeRDark
cd /opt/esup-nfc-tag-server
mvn clean package

...

On copie/colle le répertoire webapp packagé ainsi dans le tomcat : 

Bloc de code
languagebash
themeRDark
rm -rf /opt/tomcat-esup-nfc-tag-server/webapps/ROOT && cp -rf /opt/esup-nfc-tag-server/target/esupNfcTagServer-2.0.0-SNAPSHOT /opt/tomcat-esup-nfc-tag-server/webapps/ROOT

On arrête le tomcat avant et on le redémarre ensuite.

Lancement de la mise à jour de la base de données

Bloc de code
languagebash
themeRDark
mvn exec:java -Dexec.args="dbupgrade"

...

Il est alors possible de simuler un badgeage csn via une commande curl ex :

 

Bloc de code
languagebash
themeRDark
curl -X POST -H "Content-type:application/json" -d '{"csn":"045371d2fd3a80","numeroId":"6847041179388220887"}' http://esupnfctag.univ-ville.fr/csn-ws

...