Project

General

Profile

Revision 98760d1b

ID98760d1b7ff37cc869576ee5f93d4b83bcfe5683
Parent 986de4e8
Child ddbaec88

Added by Francois POIROTTE over 12 years ago

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 <>
Reviewed-by: Aurelien BOMPARD <>

View differences:

doc/admin.rst
230 230
différentes (là encore, pour éviter la propagation d'une compromission).
231 231

  
232 232

  
233
Utilisation d'un mécanisme d'authentification externe
234
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
235
Pour utiliser un mécanisme d'authentification externe (par exemple : Kerberos),
236
définissez la clé ``external_auth`` à ``True`` sous la section ``[app:main]``.
237

  
238
Dans ce mode, Vigilo ne tente pas d'authentifier l'utilisateur par rapport aux
239
comptes contenus dans sa base de données, mais utilise uniquement le nom
240
d'utilisateur transmis par la source d'authentification externe. Le nom
241
d'utilisateur peut être transmis de plusieurs manières, par exemple sous la
242
forme d'une variable d'environnement.
243

  
244
**Attention :** n'utilisez ce mode de fonctionnement que si vous comprenez bien
245
les risques associés. En particulier, le fait qu'aucun mot de passe ne sera
246
demandé à l'utilisateur pour confirmer son identité.
247

  
248 233
Emplacement de la configuration d'authentification/autorisation
249 234
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
250 235
La directive ``auth.config`` de la section ``[app:main]`` permet d'indiquer

Also available in: Unified diff