ESUPSGC

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.

En plus de la Machine Virtuelle, nous avons mis en place une instance d'ESUP-SGC (et applicatifs associés) de démonstration accessible à l'ensemble de la communauté de l'ESR au travers de la fédération d'identités ESR portée par RENATER.

Dans cette instance, tous les utilisateurs connectés ont un rôle d'utilisateur et de gestionnaire (lien Vue Manager) ; nous nous sommes gardés le rôle d'administration pour nous uniquement, ce rôle pouvant permettre, sur une mauvaise manipulation, de mettre hors d'usage le service assez rapidement (clin d'œil)

...

Les cartes et demandes de cartes sont purgées toutes les nuits.

Sommaire

...

Vidéos de démonstration

Pour utiliser au mieux cette application de démonstration disponible en ligne, vous pouvez visualiser une vidéo de présentation ici même 3 vidéos de présentation :

Image Modified

Image Added

Image Added




Usage

Cette application de démonstration peut vous donner une idée de comment esup-sgc fonctionne. Elle peut vous permettre de tester un matériel d'encodage et d'impression par exemple sur des cartes Mifare Desfire (version 1 ou 2).

...

  • Dans applicationContext-services.xml :
Bloc de code
languagexml
themeRDark
<bean id="groupService" class="org.esupportail.sgc.services.ldap.SpelGroupService">
  <property name="groups4eppnSpel">
    <map>
      <entry key="group_admin" value="#user.eppn==('bonamvin@univ-rouen.fr') or #user.eppn==('tranje1@univ-rouen.fr') or #user.eppn==('lemaida3@univ-rouen.fr')"/>
      <entry key="group_manager" value="true"/>
      <entry key="group_livreur" value="true"/>
      <entry key="group_updater" value="true"/>
      <entry key="group_consult" value="true"/>
      <entry key="group_user" value="true"/>
    </map>
  </property>
</bean>
  •  Dans applicationContext-security.xml :
Bloc de code
languagexml
themeRDark
<util:map id="sgcMappingGroupesRoles">
  <beans:entry key="group_admin" value="ROLE_ADMIN" />
  <beans:entry key="group_manager" value="ROLE_SUPER_MANAGER" />
  <beans:entry key="group_livreur" value="ROLE_LIVREUR" />
  <beans:entry key="group_updater" value="ROLE_UPDATER" />
  <beans:entry key="group_consult" value="ROLE_CONSULT" />
  <beans:entry key="group_user" value="ROLE_USER" />
</util:map>

 

Configurations esup-nfc-tag-server

 Même principe que pour esup-sgc.

  •  Dans applicationContext-security.xml :


Bloc de code
languagexml
themeRDark
<beans:bean id="groupService" class="org.esupportail.nfctag.security.SpelGroupService">
  <beans:property name="groups4eppnSpel">
    <beans:map>
      <beans:entry key="group_admin" value="#eppn=='bonamvin@univ-rouen.fr' or #eppn=='tranje1@univ-rouen.fr' or #eppn=='lemaida3@univ-rouen.fr'"/>
      <beans:entry key="group_supervisor" value="true"/>
    </beans:map>
  </beans:property>
</beans:bean>

<util:map id="nfcMappingGroupesRoles">
  <beans:entry key="group_admin" value="ROLE_ADMIN" />
  <beans:entry key="group_supervisor" value="ROLE_SUPERVISOR" />
</util:map>

...

  •  Dans applicationContext-desfire.xml :

Bloc de code
languagexml
themeRDark
    <bean id="simpleTagEsupSgc" class="org.esupportail.nfctag.beans.DesfireTag">
    </bean>

    <bean id="desfireAuthConfigDaltonWriteEsupSgc" class="org.esupportail.nfctag.service.api.impl.DesfireWriteConfig">
      <property name="desfireTag" ref="simpleTagEsupSgc" />
      <property name="description" value="Ecriture ESUP SGC"/>
    </bean>

...

La carte est donc laissée en l'état, seul le csn est lu et envoyé à esup-sgc pour enrollement.

Trixie et Maven Jetty

Ce site de démonstration est porté par une VM qui fonctionne depuis septembre 2025 sous debian trixie et avec les futures versions 3 d'esup-sgc et esup-nfc-tag actuellement en phase de qualification - https://github.com/EsupPortail/esup-sgc/tree/esup-sgc-v3 - https://github.com/EsupPortail/esup-nfc-tag-server/tree/esup-nfc-tag-server-v3 ).

On a choisi au passage ici de déployer esup-sgc et esup-nfc-tag non pas via un Tomcat mais en lançant simplement le jetty embarqué par maven au travers du pom.xml du projet.

À toute fin utile, voici un extrait des fichiers de configurations nous permettant cette mise en place.

(pour esup-nfc-tag, les configurations sont similaires, le numéro de port change simplement)

  • systemd - /etc/systemd/system/jetty-esup-sgc-demo.service


    Bloc de code
    themeRDark
    [Unit]
    Description=ESUP SGC Demo Maven Jetty
    After=network.target
    
    [Service]
    Type=simple
    User=esup
    Group=esup
    WorkingDirectory=/opt/esup-sgc-demo
    ExecStart=/usr/bin/mvn clean jetty:run -Djetty.port=8080
    StandardOutput=append:/var/log/esup-sgc-demo/jetty.log
    Restart=on-failure
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target


  • configuration apache proxypass - /etc/apache2/sites-enabled/esup-sgc-demo.univ-rouen.fr.conf
    Bloc de code
    themeRDark
    ...
       <Location />
         AuthType shibboleth
         ShibRequestSetting requireSession 1
         require shib-session
         ShibUseHeaders On
       </Location>
    
        ProxyPreserveHost On
        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-Forwarded-Port 443
        ProxyPass / http://localhost:8080/ ttl=10 timeout=3600 loadfactor=100 retry=1
        ProxyPassReverse / http://localhost:8080
    ...
    


  • configuration shibboleth (avec sp 3) - /etc/shibboleth/shibboleth2.xml


    Bloc de code
    languagexml
    themeRDark
    <SPConfig xmlns="urn:mace:shibboleth:3.0:native:sp:config"
        xmlns:conf="urn:mace:shibboleth:3.0:native:sp:config"
        xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
        clockSkew="180">
    
        <RequestMapper type="Native">
            <RequestMap applicationId="default">
                <Host name="esup-sgc-demo.univ-rouen.fr" applicationId="default" authType="shibboleth" requireSession="false"/>
                <Host name="esup-nfc-tag-demo.univ-rouen.fr" applicationId="esup-nfc-tag-demo" authType="shibboleth" requireSession="false"/>
            </RequestMap>
        </RequestMapper>
    
        <ApplicationDefaults entityID="https://esup-sgc-demo.univ-rouen.fr"
            REMOTE_USER="eppn subject-id pairwise-id persistent-id"
            cipherSuites="DEFAULT:!EXP:!LOW:!aNULL:!eNULL:!DES:!IDEA:!SEED:!RC4:!3DES:!kRSA:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1">
    
            <Sessions lifetime="28800" timeout="3600" checkAddress="false"
                handlerURL="/Shibboleth.sso" handlerSSL="true" cookieProps="https" relayState="ss:mem"
                redirectLimit="exact"
                idpHistory="false" idpHistoryDays="7">
    
              <SessionInitiator type="Chaining" Location="/Login" isDefault="true" id="Login"
                                 relayState="cookie">
                <SessionInitiator type="SAML2" acsIndex="1" acsByIndex="false" template="bindingTemplate.html"/>
            <SessionInitiator type="Shib1"/>
            <SessionInitiator type="SAMLDS" URL="https://discovery.renater.fr/edugain/WAYF"/>
              </SessionInitiator>
          
                <md:AssertionConsumerService Location="/SAML2/POST" index="1"
                         Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
            
                <!-- Status reporting service. -->
                <Handler type="Status" Location="/Status"/>
    
                <!-- Session diagnostic service. -->
                <Handler type="Session" Location="/Session" showAttributeValues="true"/>
    
            </Sessions>
    
            <MetadataProvider type="XML" validate="false"
                    url="https://metadata.federation.renater.fr/renater/main/main-idps-renater-metadata.xml"
                  backingFilePath="/etc/shibboleth/metadatas/main-idps-renater-metadata.xml" maxRefreshDelay="7200">
            </MetadataProvider>
    
            <AttributeExtractor type="XML" validate="true" reloadChanges="false" path="attribute-map.xml"/>
    
            <AttributeExtractor type="Metadata" errorURL="errorURL" DisplayName="displayName"/>
    
            <AttributeFilter type="XML" validate="true" path="attribute-policy.xml"/>
    
            <CredentialResolver type="File"
                key="esup-sgc-demo.univ-rouen.fr.key" certificate="esup-sgc-demo.univ-rouen.fr.crt"/>
            
        <ApplicationOverride id="esup-nfc-tag-demo" entityID="https://esup-nfc-tag-demo.univ-rouen.fr" homeURL="https://esup-nfc-tag-demo.univ-rouen.fr"/>
        
        </ApplicationDefaults>
        
        <SecurityPolicyProvider type="XML" validate="true" path="security-policy.xml"/>
    
        <ProtocolProvider type="XML" validate="true" reloadChanges="false" path="protocols.xml"/>
    
    </SPConfig>