Autres versions
Vous êtes ici : Développer dans K-Sup → Connecteurs SI → Connecteur LDAP
Déclarer et programmer le(s) job(s) de synchronisation LDAP
Documentation de configuration des tâches planifiées pour la synchronisation de vos données LDAP vers votre application
Cette documentation présente comment programmer les jobs dans une tâche planifiée qui serviront à lancer la synchronisation de vos données LDAP.
La configuration des scripts chargés de la synchronisation des données de votre annuaire LDAP vers votre application K-Portal ou K-Sup s'effectue dans le fichier /WEB-INF/ApplicationContext.xml de votre application.
Déclaration des scripts
Si vous avez configuré la synchronisation de vos utilisateurs, vous devrez activer le bean batchSynchroUserFromLdap, ajouter la déclaration suivante (la propriété "lazy-init=true" est indispensable sur ce bean).! Important "ldap.liste.alias" est la propriété contenant la liste de vos alias LDAP à synchroniser, séparés par des points virgule.
<bean id="batchSynchroUserFromLdapJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean" lazy-init="true">
<property name="description" value="Synchronisation des utilisateurs LDAP" />
<property name="jobClass" value="com.kosmos.ldap.batch.BatchSynchroUserFromLdap" />
<property name="durability" value="true" />
<property name="jobDataAsMap">
<map>
<entry key="alias">
<value>${ldap.liste.alias}</value>
</entry>
</map>
</property>
</bean>
Si vous avez également prévu de synchroniser les groupes, vous devrez activer le bean batchSynchroGroupFromLdapJob, chargé de la synchronisation des groupes, ajouter la déclaration suivante (la propriété "lazy-init=true" est indispensable sur ce bean).
<bean id="batchSynchroGroupFromLdapJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean" lazy-init="true">
<property name="description" value="Synchronisation des groupes LDAP" />
<property name="jobClass" value="com.kosmos.ldap.batch.BatchSynchroGroupFromLdap" />
<property name="durability" value="true" />
<property name="jobDataAsMap">
<map>
<entry key="alias">
<value>${ldap.liste.alias}</value>
</entry>
</map>
</property>
</bean>
Si vous avez configuré le connecteur afin de générer des fiches Annuaire et/ou Étudiant, vous devrez activer le bean importXmlJob chargé d'importer les fichiers XML dans l'application (la propriété "lazy-init=true" est indispensable sur ce bean) :
<bean id="importXmlJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean" lazy-init="true">
<property name="description" value="Import de fichier xml" />
<property name="jobClass" value="com.univ.batch.imports.ImportXML" />
<property name="durability" value="true" />
</bean>
Si vous avez activé les groupes dynamiques, vous devrez activer le bean synchroniserGroupesDynamiqueJob chargé de la synchronisation des groupes dynamiques :
<bean id="synchroniserGroupesDynamiqueJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="description" value="Synchronisation des groupes dynamiques" />
<property name="jobClass"
value="com.univ.batch.process.SynchroniserGroupesDynamique" />
<property name="durability" value="true" />
</bean>
Activation de la programmation
En règle générale, les scripts de synchronisation sont programmés la nuit en même temps que le batch nocturne de maintenance.Au préalable, il faut donc ajouter également le bean scanSiteJob pour le reprogrammer dans l'ordre souhaité, ajouter la déclaration
<bean id="scanSiteJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="description" value="Mise à jour de l'application" />
<property name="jobClass" value="com.univ.batch.process.ScanSite" />
<property name="durability" value="true" />
</bean>
La déclaration de la séquence d'éxecution est à surcharger dans la map sequence du trigger scanSiteTrigger, par exemple pour activer dans l'ordre :
- synchronisation des utilisateurs LDAP alias myAlias
- synchronisation des utilisateurs LDAP alias myAliasBis (la propriété "ldap.liste.alias" est de la forme "myAlias;myAliasBis;...")
- synchronisation des fiches annuaires
- le script de maintenance
- synchronisation des groupes dynamiques
<bean id="sequenceSurcharge" class="com.kportal.core.context.AttributeToOverrideBean" lazy-init="true">
<property name="idBeanToMerge" value="scanSiteTrigger" />
<property name="attributes">
<map>
<entry key="sequence">
<map>
<entry key="1">
<bean class="com.kportal.scheduling.spring.quartz.SequenceJobDetailDecorator">
<property name="decoratedJobDetail" ref="batchSynchroUserFromLdapJob" />
<property name="blocking" value="false" />
<property name="sequenceJobDataMap">
<map>
<entry key="alias">
<value>myAlias</value>
</entry>
</map>
</property>
</bean>
</entry>
<entry key="2">
<bean class="com.kportal.scheduling.spring.quartz.SequenceJobDetailDecorator">
<property name="decoratedJobDetail" ref="batchSynchroUserFromLdapJob" />
<property name="blocking" value="false" />
<property name="sequenceJobDataMap">
<map>
<entry key="alias">
<value>myAliasBis</value>
</entry>
</map>
</property>
</bean>
</entry>
<entry key="3">
<bean class="com.kportal.scheduling.spring.quartz.SequenceJobDetailDecorator">
<property name="decoratedJobDetail" ref="importXmlJob" />
<property name="blocking" value="false" />
</bean>
</entry>
<entry key="4">
<bean class="com.kportal.scheduling.spring.quartz.SequenceJobDetailDecorator">
<property name="decoratedJobDetail" ref="scanSiteJob" />
<property name="blocking" value="false" />
</bean>
</entry>
<entry key="5">
<bean class="com.kportal.scheduling.spring.quartz.SequenceJobDetailDecorator">
<property name="decoratedJobDetail" ref="synchroniserGroupesDynamiqueJob" />
<property name="blocking" value="false" />
</bean>
</entry>
</map>
</entry>
</map>
</property>
</bean>
Prise en compte de la configuration
Pour que la configuration soit effective, vous devrez relancer Tomcat.Mis à jour le 28 juin 2023
Cet article n'est pas à jour ?
Connectez-vous (avec vos identifiants Communauté) pour suggérer une correction ou un complément :