Environment
NetIQ Access Manager 3.2
Novell Access Manager 3.1.4
Novell Access Manager 3.1.4
Situation
- Access Gateway Service has been configured with customized logout pages
- Logic has been added to the logoutSuccess.jsp
Cause
The customized logout page included errors so that the query parameters which in fact have been passed could not get processed.
Additional Information
Troubleshooting:
Use a simple logoutSuccess.jsp like:
<%@ page language="java" %>
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="com.novell.nidp.*" %>
<%@ page import="com.novell.nidp.authentication.local.X509Class" %>
<%@ page import="com.novell.nidp.resource.*" %>
<%@ page import="com.novell.nidp.resource.jsp.*" %>
<%@ page import="com.novell.nidp.ui.*" %>
<%
response.setHeader("Connection", "close");
Cookie c = new Cookie(X509Class.X509_LOGOUT_COOKIE, X509Class.X509_LOGOUT_COOKIE_VALUE);
c.setPath(request.getContextPath());
response.addCookie(c);
UIHandler uh = new UIHandler(request,response);
ArrayList logoutStrings = null;
ArrayList logos = null;
if (uh.isJSPMsg())
{
NIDPLogoutMessage msg =
(NIDPLogoutMessage)uh.getMessage(true);
if (msg.isConfirmLogouts())
{
logoutStrings = msg.getStrings();
logos = msg.getLogos();
}
}
System.out.println ("*****Processing logoutSuccess.jsp*****");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//Dtd HTML 4.0 transitional//<%=uh.getLanguageCode()%>">
<html lang="<%=uh.getLanguageCode()%>">
<head>
<link href="<%= uh.getImage("hf_style.css",false)%>" rel="stylesheet">
<style type="text/css" media="screen"><!--
body { background-color: <%=uh.getBGColor()%> }
--></style>
<script type="text/javascript">
function getParam(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
document.writeln ('Queryparmeter '+i+': ' +vars[i]+'</br>');
var pair = vars[i].split("=");
}
}
</script>
</head>
<body marginwidth="0" marginheight="0" leftmargin="10" topmargin="0">
<script type="text/javascript">
getParam();
</script>
</body>
</html>
use a web browser header trace utility (e.g. "Live HTTP Headers" plugin for Firefox or the "ieHTTPHeaders" plugin for IE) in order to check if the query parameters have been included in the GET request for the logoutSuccess.jsp. The above simple "logoutSuccess.jsp" just prints out all query parameters which have been passed.
Example:
logout request: "https://www.kgast.nam.com/nesp/app/plogout?text2=mail&text=hallo"
parameters passed to logoutSuccess.jsp test page
Queryparmeter 0: sid=2
Queryparmeter 1: sid=2
Queryparmeter 2: text2=mail
Queryparmeter 3: text=hallo