From 78d30c6efd6277fb1f310eb8c74042119568dd2e Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 6 May 2011 14:31:54 +0000 Subject: [PATCH] [saml2] keep a reference to the last logged user after slo (for pr@tic) --- authentic/liberty/saml2.ptl | 5 ++++- authentic/sessions.py | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/authentic/liberty/saml2.ptl b/authentic/liberty/saml2.ptl index 41b4509..11eeba0 100644 --- a/authentic/liberty/saml2.ptl +++ b/authentic/liberty/saml2.ptl @@ -732,7 +732,8 @@ consent_obtained: %s intro_cookie: %s' % (user_authenticated, consent_obtained, if not self.check_logout_request(logout): return self.slo_sp_finish(logout, method, error = error) - # logout user now! + # logout user now! but remember who was logged. + session.previous_user = session.user session.user = None if method == lasso.HTTP_METHOD_SOAP: get_session_manager().expire_session() @@ -808,6 +809,8 @@ consent_obtained: %s intro_cookie: %s' % (user_authenticated, consent_obtained, load_identity(logout, identity = None, session = session) if logout.identity: session.lasso_identity_dump = logout.identity.dump() + # remember who was logged + session.previous_user = session.user session.user = None logout.resetProviderIdIndex() if method == lasso.HTTP_METHOD_SOAP: diff --git a/authentic/sessions.py b/authentic/sessions.py index 4fd31e1..c4e578e 100644 --- a/authentic/sessions.py +++ b/authentic/sessions.py @@ -26,6 +26,8 @@ class BasicSession(Session, CaptchaSession, StorableObject): __remember = None # identifier of the last requesting service _service = None + # keep reference to the last user logged, after slo for example + previous_user = None _has_info_keys = [ "lasso_login_dump", "lasso_session_dump", "question_key", "after_url", "name_identifiers", "proxied_idp",