Revision ad86ea60
Améliorations autour de l'authentification.
Remplace le middleware d'authentification de repoze.who par notre propre
version.
Différences :
- Si une authentification externe a déjà eu lieu, elle ne court-circuite
pas entièrement le middleware. Les plugins challengers & mdproviders
sont tout de même exécutés.
- Il positionne la variable "vigilo.external_auth" dans l'environnement
de la requête à True si une authentification externe a eu lieu (ou à
False respectivement, si aucune authentification externe n'a eu lieu).
Les différents fichiers de configuration ont été mis à jour, ainsi que
les templates HTML et les contrôleurs/bibliothèques qui en dépendait.
Ils utilisent désormais le contenu de la variable d'environnement de
requête "vigilo.external_auth" pour adapter leur comportement.
L'option de configuration "external_auth" n'est plus utilisée (des
utilisateurs en authentification externe et en authentification interne
pourraient cohabiter simultanément dans le système).
La page de gestion du profil de l'utilisateur (dans VigiAdmin) est
toujours accessible, même lorsque l'utilisateur est connecté via un
mécanisme d'authentification externe.
L'idée est de permettre aux utilisateurs de définir un mot de passe de
secours qui leur permettra de se connecter même lorsque le mécanisme
d'authentification externe n'est pas disponible (ex: serveur Kerberos
injoignable).
Le script "vigilo-passwd" autorise la modification d'un compte dont le
mot de passe n'a pas encore été défini par son propriétaire (pour le
moment, un mot de passe est demandé à l'utilisateur, bien que celui-ci
ne soit pas réellement utilisé/vérifié).
Tout ce travail vise à préparer le terrain pour le ticket #883
concernant la gestion d'un mécanisme d'authentificaton de repli.
Change-Id: If7bc18eb00f107f143ec9586719f163dddfd48d1
Refs: #883.
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/376
Tested-by: Build system <qa@vigilo-dev.si.c-s.fr>
Reviewed-by: Aurelien BOMPARD <aurelien.bompard@c-s.fr>
deployment/settings.ini.in | ||
---|---|---|
68 | 68 |
; "beaker.session.secret". |
69 | 69 |
sa_auth.cookie_secret = vigilo |
70 | 70 |
|
71 |
; Indique si un mécanisme d'authentification externe |
|
72 |
; (ex : Kerberos) est en place ou non. |
|
73 |
external_auth = False |
|
74 |
|
|
75 | 71 |
; Fichier de configuration définissant la politique de gestion |
76 | 72 |
; de l'authentification. |
77 | 73 |
auth.config = %(here)s/who.ini |
Also available in: Unified diff