From 2ac105076f40203359690e70ebe84f681fbef001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Peters?= Date: Thu, 13 Nov 2008 11:01:42 +0100 Subject: [PATCH] catch msp idTs on login_msp and federate_msp --- extra/modules/liberty.py | 9 --------- extra/modules/root.ptl | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/extra/modules/liberty.py b/extra/modules/liberty.py index 6080834..9e9425d 100644 --- a/extra/modules/liberty.py +++ b/extra/modules/liberty.py @@ -26,8 +26,6 @@ import misc import authentic.liberty.root from authentic.liberty.root import SOAPError -import collectivity - ED_MIGRATION_DISABLED = False ED_DOCUMENTS_MIGRATION_DISABLED = True @@ -98,13 +96,6 @@ class AlternateLibertyDirectory(authentic.liberty.root.RootDirectory): server = authentic.misc.get_lasso_server(lasso.PROVIDER_ROLE_SP) - if get_field('tsId'): - for coll in collectivity.Collectivity.select(): - if coll.msp_tsid == get_field('tsId'): - resp = get_response() - resp.set_header('X-Gdd-Account-Number', coll.id) - break - if session.msp_login_dump: login = lasso.Login.newFromDump(server, session.msp_login_dump) session.msp_login_dump = None diff --git a/extra/modules/root.ptl b/extra/modules/root.ptl index 5522428..a01e820 100644 --- a/extra/modules/root.ptl +++ b/extra/modules/root.ptl @@ -1,7 +1,7 @@ import lasso import Cookie -from quixote import redirect, get_session, get_session_manager +from quixote import redirect, get_session, get_session_manager, get_response from qommon import get_cfg, get_logger from qommon.form import * from qommon import template @@ -242,6 +242,13 @@ class AlternateRootDirectory(OldRootDirectory): def federate_msp(self): + if get_field('tsId'): + for coll in collectivity.Collectivity.select(): + if coll.msp_tsid == get_field('tsId'): + resp = get_response() + resp.set_header('X-Gdd-Account-Number', coll.id) + break + session = get_session() if not session.user: session.msp_init_federate = True @@ -250,6 +257,13 @@ class AlternateRootDirectory(OldRootDirectory): return self.sso_to_msp(nameIdPolicy = 'federated') def login_msp(self): + if get_field('tsId'): + for coll in collectivity.Collectivity.select(): + if coll.msp_tsid == get_field('tsId'): + resp = get_response() + resp.set_header('X-Gdd-Account-Number', coll.id) + break + get_session().peer_cancelled = False return self.sso_to_msp()