我在.mydomain.net中使用的Cookie域有问题,我希望将它放到3的勺子中,所以它将是.app.mydomain.net
所以我有这个:

    // 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;
            }
        }


我在这里只是想在最后添加response.addCookie(“。app。” + c_cookie);
我不知道也许有办法直接得到3的东西!!!
有人知道我该怎么做吗?
谢谢您的帮助。

最佳答案

我不确定我是否遵循您在代码中要执行的操作,但是在SiteMinder(aka CA SSO)中,cookie域范围是在代理配置对象中定义的。另外还会有一个名为SM_SDOMAIN或SMSDOMAIN的请求标头(下划线可能存在也可能不存在,取决于ACO设置),其中包含SiteMinder使用的确切cookie域。

String smcookiedomain = request.getHeader("SM_SDOMAIN");


希望这可以帮助!

09-25 14:03