|
From: Michael K. <ko...@us...> - 2005-02-21 15:58:27
|
Update of /cvsroot/cobricks/cobricks2/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14214 Modified Files: pageheader.html Log Message: Added dialogs for Liberty Alliance Single Sign-On handling. Index: pageheader.html =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/pageheader.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- pageheader.html 1 Oct 2004 13:42:48 -0000 1.11 +++ pageheader.html 21 Feb 2005 15:57:58 -0000 1.12 @@ -122,6 +122,127 @@ </span> </div></div> +<p> </p> + + +<!--Single Sign-On begin--> + +#set ($libertyBridge=$userManager.getLAIdffBridge()) +#set ($role=$libertyBridge.getRole($portalRequest)) + +#if ($!userLogin == "anonymous" && $role == "sp") + +<div class="box"> +<div class="header"> + <div class="title"> + Single Sign-On + </div> +</div> +<div class="body2"> + <div class="content last"> + <span class="boxNavHeadline"> + <div> + This Cobricks-2 installation acts as an Serviceprovider <br><br> + Choose an Identityprovider:<br><br> + +#set ($idpList = $libertyBridge.getIdps($portalRequest)) + +#if (($idpList)) + #foreach ($i in $idpList) + <a href="/user/LibertyServlet?cmd=auth&providerID=$i.getName()">$i.getName()</a><br> + #end +#end + + </div> + </span> + </div> +</div> + +#else + +#if($!userLogin != "anonymous") + +##wenn durch Identitätsprovider angemeldet und die Bestätigung +##abgelaufen ist, Benutzer abmelden +#if($role == "sp") +#set($curIdp=$libertyBridge.getCurrentIDP($portalRequest)) + #if($curIdp) + #set($date=$curIdp.getReauthenticateOnOrAfter()) + #if($date) + #if($libertyBridge.checkExpiration($date)) + ##Bestätigung ist abgelaufen, auf PortalServlet weiterleiten um Logout zu machen + ##Hier könnte man eine Seite als Parameter für den Aufruf von /PORTAL?cmd=logout + ##über den Parameter cmd.sussess übergeben die dem User eine Meldung ausgibt. + ##Funktioniert aber bei diesem cmd nicht. Dann würde aber auch eine + ##Endlosschleife auftreten die man durch ein Flag umgehen müsste, z.B so + ##set($returnPage="/user/la/expired.html?flag=1") + ##set($adress="/PORTAL?cmd=logout&cmd.success=$returnPage") + ##flag prüfen, sonst Endlosschleife + ##set($flag=$request.getParameter("flag")) + ##if(!$flag) + ##forward auf PortalServlet + ##end + #set($adress="/PORTAL?cmd=logout") + #set($request=$portalRequest.getHttpServletRequest()) + #set($response=$portalRequest.getHttpServletResponse()) + $request.getRequestDispatcher($adress).forward($request, $response) + #end + #end + #end +#end + +<div class="box"> +<div class="header"> +<div class="title"> + Single Sign-On +</div> +</div> +<div class="body2"> + <div class="content last"> + <span class="boxNavHeadline"> + <div> +#if($role == "sp") + This Cobricks-2 installation acts as an Serviceprovider <br><br> +#set($currentIDP = $libertyBridge.getCurrentIDP($portalRequest)) +#set($currentIDPName = $currentIDP.getName()) +#if($currentIDPName) + You are logged in through Identityprovider <b>"$currentIDPName"</b><br><br> + #set($ex=$currentIDP.getReauthenticateOnOrAfter()) + #if($ex) + This session will expire at<br> + $ex<br><br> + #end + Click + <a href="/user/LibertyServlet?cmd=logout&providerID=$currentIDPName&userID=$!userLogin"> + here + </a> + to make a global logout (this session and all session at third party serviceproviders made through $currentIDPName) +#else + You are logged in local +#end +<br><br> +Click +<a href="/user/la/managefederationssp.html"> + here +</a> + to manage your federated identities +#else + This Cobricks-2 installation acts as an Identityprovider <br><br> + Click + <a href="/user/la/managefederationsidp.html"> + here + </a> + to manage your federated identities +#end + </div> + </span> + </div> +</div> +#end +#end + +<!--Single Sign-On end--> + </td></tr> </table> |