multi.jsp revision 984ea967792540448d05fba2ac6fad5dadf91fd6
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews<%--
ca5ee98300e3075714eb8d1566846addb45e063fTinderbox User DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
ca5ee98300e3075714eb8d1566846addb45e063fTinderbox User
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews Copyright (c) 2009 Sun Microsystems Inc. All Rights Reserved
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews The contents of this file are subject to the terms
ca5ee98300e3075714eb8d1566846addb45e063fTinderbox User of the Common Development and Distribution License
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews (the License). You may not use this file except in
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews compliance with the License.
ca5ee98300e3075714eb8d1566846addb45e063fTinderbox User
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews You can obtain a copy of the License at
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews https://opensso.dev.java.net/public/CDDLv1.0.html or
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews opensso/legal/CDDLv1.0.txt
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews See the License for the specific language governing
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews permission and limitations under the License.
ca5ee98300e3075714eb8d1566846addb45e063fTinderbox User
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews When distributing Covered Code, include this CDDL
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews Header Notice in each file and include the License file
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews at opensso/legal/CDDLv1.0.txt.
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews If applicable, add the following below the CDDL Header,
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews with the fields enclosed by brackets [] replaced by
3afd0ff6628df1e7e20161e4afa99469a1195a5bTinderbox User your own identifying information:
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews "Portions Copyrighted [year] [name of copyright owner]"
3afd0ff6628df1e7e20161e4afa99469a1195a5bTinderbox User
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews $Id: multi.jsp,v 1.1 2009/07/02 22:00:17 exu Exp $
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews--%><%@page
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews import="com.sun.identity.wsfederation.common.WSFederationConstants"
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews import="com.sun.identity.plugin.session.SessionManager"
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews import="com.sun.identity.wsfederation.common.WSFederationUtils"
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews%><%
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews // handle multi-federation protocol case
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews Object uSession = null;
3afd0ff6628df1e7e20161e4afa99469a1195a5bTinderbox User try {
3afd0ff6628df1e7e20161e4afa99469a1195a5bTinderbox User uSession = SessionManager.getProvider().getSession(request);
3afd0ff6628df1e7e20161e4afa99469a1195a5bTinderbox User } catch (Exception e) {
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews }
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews if ((uSession == null) || !SessionManager.getProvider().isValid(uSession)) {
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews String wreply = request.getParameter(
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews WSFederationConstants.LOGOUT_WREPLY);
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews if ((wreply != null) && (wreply.length() != 0)) {
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews response.sendRedirect(wreply);
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews }
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews } else {
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request.setAttribute(WSFederationConstants.LOGOUT_WREPLY,
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request.getParameter(WSFederationConstants.LOGOUT_WREPLY));
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request.setAttribute(WSFederationConstants.REALM_PARAM,
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request.getParameter(WSFederationConstants.REALM_PARAM));
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request.setAttribute(WSFederationConstants.ENTITYID_PARAM,
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request.getParameter(WSFederationConstants.ENTITYID_PARAM));
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews WSFederationUtils.processMultiProtocolLogout(
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews request, response, uSession);
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews }
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews%>
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews