Skip to content

Commit a93653f

Browse files
committed
Update backend_LDAP.md
1 parent f1e4239 commit a93653f

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

docs/backends/backend_LDAP.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,74 @@ vous disposez comme dans les templates des variable
114114
* **rdnValue** contient la valeur du rdn
115115

116116

117+
## Gestion du cycle de vie
118+
Dans le fichier config.yml une nouvelle clé est gérée :
119+
```
120+
...
121+
IDENTITY_LIFECYCLE_CHANGED:
122+
script: 'lifecycle.py'
123+
onError: 'stop'
124+
```
125+
**A noter : sesame-daemon doit être à la version >= 1.0.14**
126+
127+
## Entrée envoyée au backend
128+
L'entrée envoyée au backend pour la generation des scripts est un peu differente que pour les autres actions
129+
130+
```json
131+
132+
"concernedTo": "6852cd3980ae416061df5dae",
133+
"payload": {
134+
"before": {
135+
"_id": "6852cd3980ae416061df5dae",
136+
"inetOrgPerson": {
137+
"cn": "Dupont Gerald",
138+
"displayName": "Gérald Dupont",
139+
"facsimileTelephoneNumber": "",
140+
...
141+
"after": {
142+
"_id": "6852cd3980ae416061df5dae",
143+
"inetOrgPerson": {
144+
"cn": "Dupont Gerald",
145+
"displayName": "Gérald Dupont",
146+
"facsimileTelephoneNumber": "",
147+
148+
```
149+
* Une clé **before** représente l'identité avant modification par le cycle de vie
150+
* Une clé **after** représente l'identité après modification par le cycle de vie
151+
152+
## Nom des templates pour le cycle de vie
153+
Par défaut l'installation ne donne qu'un script dummy pour le cycle de vie, c'est à vous de les créer selon vos besoins
154+
155+
Processus :
156+
Le backend cherche un script dans le répertoire **lifecyle** nommé 'X'_'Y' ou X_Y.py
157+
X etant la valeur de lifecyle précédant la modification
158+
159+
Exemple : si le cycle de vie passe de A à I le backend regardera si un template du nom de A_I ou A_I.py existe
160+
161+
Si il n y a pas de script pour cette transition le backend va prendre le script
162+
**lifecycle.py**.
163+
164+
Si aucun des templates existe le backend ne fait rien.
165+
166+
### Squelette de script python pour le cycle de vie
167+
168+
````
169+
#!/usr/bin/python3
170+
#Exemple de script lifecycle
171+
import sys
172+
# Import librairie
173+
sys.path.append('../lib')
174+
import backend_utils as u
175+
import backend_ldap as ldap
176+
177+
178+
179+
def main():
180+
# lecture json sur l'entree standart
181+
content=u.readjsoninput()
182+
#retour de l'execution au daemon
183+
return print(u.returncode(0,'lifecycle.py'))
184+
185+
if __name__ == '__main__':
186+
main()
187+
````

0 commit comments

Comments
 (0)