Projet

Général

Profil

Wiki » Historique » Version 1

Version 1/8 - Suivant » - Version actuelle
Bruno Boiget, 10/10/2013 15:04


Eolelask-aaa

Principe général:

Eoleflask-aaa comprend une

Une librairie python (eoleauthlib)
Une application 'racine' (eoleauth) à intégrer dans eoleflask

l'application est montée comme première application par eoleflask, et comporte 3 urls:

/login : page utilisée pour se connecter et créer une session globale (voir plus loin)
/logout : page de déconnexion pour la session globale
/eoleauth : affiche le nom d'utilisateur courant

La librairie offre différents plugins pour l'authentification (actuellement PAM-login et CAS) et plusieurs modes de gestion des sessions (fichiers côté serveur ou Redis en mode socket)

Le principe de fonctionnement est d'importer une fonction d'initialisation et un décorateur (pour les fonctions des vues) dans les applications.
  • Lors de l'accès à une vue protégée, le décorateur va regarder si la session est ouverte (nom d'utilisateur présent).
  • Si c'est le cas, le déroulement se poursuit normalement.
  • Si il n'y a pas de session:
    • Le décorateur va rediriger sur la page de login (/login en mode global, ou /application/login en mode local) et créer la session.
    • Après authentification, l'utilisateur est ensuite redirigé sur la page d'origine où le décorateur va à nouveau vérifier la validité de la session

Rqe: pour l'instant, le plugin CAS ne gère pas correctement la déconnexion centralisée. Si le serveur CAS envoie une requête de déconnexion, la session ne sera pas fermée.