Arborescence des pages

Vous regardez une version antérieure (v. /wiki/display/SGC/FAQ) 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. 10) afficher la version suivante »

ESUP-SGC

Dans l'application ESUP-SGC, peut-on utiliser une base de données externe Oracle pour récupérer des données utilisateurs ?

Oui.

Le driver oracle n'étant pas dans le maven central, une modification du pom.xml ne suffit pas. Il faudra en plus l'ajouter dans votre 'repository local' ainsi : 

mvn install:install-file -Dfile=/tmp/ojdbc6-11.2.0.3.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true

puis ajout dans le pom.xml de la dépendance :

<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>11.2.0.3</version>
</dependency>

La configuration se fait ensuite dans applicationContext-services.xml avec un dataSource adéquat ...

    <bean id="dataSourceOracle" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@oracle.devcake.co.uk:1521:INTL"/>
        <property name="username" value="sa"/>
        <property name="password" value=""/>
    </bean>

 

Je n'ai pas de groupes dans ldap, est-ce que je peux plutôt utiliser des filtres pour affecter les rôles dans l'application ESUP-SGC ?

Même si l'usage de groupes ldap, notamment via l'usage de Grouper, est conseillé (c'est ce que propose la configuration par défaut et c'est ce qui est utilisé dans la VM de démonstration), il est effectivement possible d'utiliser en lieu et place des filtres ldap.

Pour ce faire, dans applicationContext-services.xml on modifiera 

	<bean id="groupService" class="org.esupportail.sgc.services.ldap.LdapGroupService">
		<property name="ldapTemplate" ref="ldapTemplate"/>
		<property name="groupSearchBase" value="ou=groups" />
		<property name="groupSearchFilter" value="member={0}"/>
		<property name="memberSearchBase" value="ou=people"/>
		<property name="memberSearchFilter" value="memberOf={0}"/>
	</bean>

par quelque chose du type : 

	<bean id="groupService" class="org.esupportail.sgc.services.ldap.LdapFilterGroupService">
		<property name="ldapTemplate" ref="ldapTemplate"/>
		<property name="ldapFiltersGroups">
			<map>
				<entry key="(|(eduPersonAffiliation=student)(eduPersonAffiliation=employee))" value="esup-sgc-users"/>
				<entry key="eduPersonPrincipalName=joe@univ-ville.fr" value="esup-sgc-admins"/>
				<entry key="eduPersonPrincipalName=jack@univ-ville.fr" value="esup-sgc-managers"/>
			</map>
		</property>
	</bean>

C'est ensuite ces noms de groupes ainsi déifinis ('esup-sgc-users', esup-sgc-admins', ...) qui peuvent être utilisés dans applicationContext-security.xml au niveau du bean sgcMappingGroupesRoles pour définir les rôles de chacun : 

	<util:map id="sgcMappingGroupesRoles">
		<beans:entry key="esup-sgc-admins" value="ROLE_ADMIN" />
		<beans:entry key="esup-sgc-managers" value="ROLE_MANAGER" />
		<beans:entry key="esup-sgc-users" value="ROLE_USER" />
	</util:map>

 

Qu'est-ce qu'un thème dans ESUP-SGC ?

Un thème correspond notamment à une CSS ainsi qu'au logo de l'établissement tous deux utilisés lors de l'impression de la carte.
Ce même CSS permet la prévisualisation (pour l'usager et pour le manager) de la carte, aussi dans ce contexte un css spécifique à la vue mobile est présent ainsi qu'un masque (de carte) et un qrcode.

On peut avoir plusieurs thèmes et une même 'clef' de thème peut également être utilisée plusieurs fois avec des versions différentes.

L'idée est ainsi de permettre d'avoir des thèmes différents suivant les individus et éventuellement des versions de thèmes différentes si le thème évolue dans le temps (changement de look de la carte d'un établissement).

L'affectation d'un thème à un utilisateur se fait au travers du peuplement d'un nouveau 'userInfo' nommé 'template'. La dernière version du thème coorespondant à cette clef étant utilisée lors de l'impression de la carte.

Enfin notez que les thèmes sont gérés depuis l'interface web d'esup-sgc et l'outil permettant de les créer ou les modifier permet ainsi au passage d'éditer la CSS avec rendu immédiat synchronisé dans le navigateur (~ livedit du css) !

 

Comment faire une demande de carte en utilisant le webservice proposé par ESUP-SGC ?

La demande de carte peut être faite par l'appel d'un webservice. Cet appel ressemble à ceci:

curl -F "eppn=username@univ-ville.fr" -F "difPhotoTransient=true" -F "crousTransient=true" -F "templateCard=248" -F "PhotoFile.file=@/path/to/image.png"  https://esup-sgc.univ-ville.fr/wsrest/api

La valeur de templateCard correspond en fait à l'ID du thème que vous souhaitez utiliser (colonne ID de la table TEMPLATE_CARD dans la base de données).

La liste des clients autorisés à utiliser ce webservice est définie dans la variable accessRestrictionWSRestAPI du fichier security.properties. Par exemple, pour autoriser certaines adresses IP (notez que la valeur de cette variable n'est pas entourée de guillemets):

accessRestrictionWSRestApi=hasIpAddress('127.0.0.1') or hasIpAddress('192.168.1.39') or hasIpAddress('192.168.22.0/24')

 

Peut-on encoder l'application CROUS quand on utilise des cartes vierges ?

Dans le cadre d'Esup-SGC il est conseillé d'utiliser des cartes pré-encodées avec l'application CROUS/IZLY. Il est tout de même possible d'activer l'encodage CROUS lors de l'encodage de cartes vierges avec Esup-Sgc-Client. Pour cela il faut:

  • Utiliser un PC sous windows 64 et se procurer l'application cnousApi auprès de la liste esup-sgc-devel@esup-portail.org
  • Obtenir une plage d'identifiants auprès du CNOUS ainsi qu'un fichier clé CNOUS ZDC et une clé matérielle SAM.
  • Installer l'application sous c:\cnousApi, le dossier devra contenir les fichier suivants:
    - cnous_fournisseur_carte.dll
    - CreationCarteCrous.exe
    - CreationCarteCrous.exe.config
    - key.txt (Clé CNOUS ZDC)
    - libeay32.dll (openSSL)
    - libssl32.dll (openSSL)
    - pcsc_desfire.dll (springcard)

  • Brancher la clé USB SAM

  • Lancer CreationCarteCrous.exe permet de s'assurer que l'application fonctionne correctement

- "CreationCarteCrous.exe -t" doit afficher true
- "CreationCarteCrous.exe -l" permet de lire l'application CROUS d'une carte

  • Modifier la configuration du sgc dans applicationContext-services.xml
<bean class="org.esupportail.sgc.services.cardid.CnousCardIdService">
	<property name="appName" value="crous"/>
	<property name="idCounterBegin" value="<numero de debut de plage CNOUS>"/>
	<property name="postgresqlSequence" value="crous_smart_card_sequence"/>
	<property name="crousEncodeEnabled" value="true"/>
</bean>
  • Inserer le premier identifiant de votre plage au niveau du idCounterBegin et mettre crousEncodeEnabled à true.

Lors du lancement de l'application Esup-Sgc-Client depuis le SGC, un contrôle de l'application cnousApi sera effectué. 

La première ligne de log doit indiquer "dll cnous : OK"

ESUP-NFC-TAG

Je n'ai pas de groupes dans ldap, est-ce que je peux plutôt utiliser des filtres pour affecter les rôles dans l'application ESUP-NFC-TAG ?

Ce n'est actuellement pas possible ... 

 

  • Aucune étiquette