我在 .mydomain.net 中使用的Cookie域存在问题,我想将其放在3的勺子中,因此它将是 .app.mydomain。净 所以我有这个:
// Save siteminder cookie from a login succes and redirect to target application url
log.debug("Certificate type: "+ s_certificateType );
log.debug("Application Authentication Level: "+ s_authLevel );
if ( s_certificateType.length() == 0 || s_certificateType.equals ("HARD") || ( s_certificateType.equals ("SOFT") && ( s_authLevel.equals("1") || s_authLevel.equals("2") ) ) ) {
Cookie c_cookie = new Cookie ("SSOHUBSESSION", s_sessionToken );
c_cookie.setDomain(application.getInitParameter("domain"));
response.addCookie ( c_cookie );
log.debug("REDIRECT: "+ s_returnurl );
session.invalidate();
Cookie[] a_cookies = request.getCookies();
if (a_cookies != null) {
for (int i = 0; i < a_cookies.length; i++)
{
if (a_cookies[i].getName().equals("SSOHUBFED_OLD_SESSION") ) {
log.debug("Update the SSOHUBFED_OLD_SESSION with the new Session. ");
c_cookie = new Cookie("SSOHUBFED_OLD_SESSION", s_sessionToken);
c_cookie.setDomain(application.getInitParameter("domain"));
//c_cookie.setMaxAge(0);
c_cookie.setValue(s_sessionToken);
response.addCookie(c_cookie);
}
}
}
response.sendRedirect(s_returnurl);
return;
}
}
这里我想在最后添加一个响应.addCookie(“。app。”+ c_cookie); 我不知道是否有办法直接获得3或者其他东西! 有谁知道我怎么做? 谢谢你的帮助。
答案 0 :(得分:0)
我不确定我是否遵循您在代码中尝试执行的操作,但在SiteMinder(也称为CA SSO)中,Cookie域范围在代理配置对象中定义。此外,还会有一个名为SM_SDOMAIN或SMSDOMAIN的请求标头(下划线可能存在,也可能不存在,也取决于ACO设置),其中包含SiteMinder正在使用的确切cookie域,例如
String smcookiedomain = request.getHeader("SM_SDOMAIN");
希望这有帮助!