java - 在java中的Scoop of 3中设置cookie域

标签 java jakarta-ee cookies session-cookies setcookie

我在 .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(又名 CA SSO)中,cookie 域范围是在代理配置对象中定义的。此外,还会有一个名为 SM_SDOMAIN 或 SMSDOMAIN 的请求 header (下划线可能存在也可能不存在,也取决于 ACO 设置),其中包含 SiteMinder 正在使用的确切 cookie 域,例如

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

希望这有帮助!

关于java - 在java中的Scoop of 3中设置cookie域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693094/

相关文章:

java - @Before 和 @AfterReturning 组合可能吗?

java - 如何实现 EAR-wide JAAS

java - 在 REQUIRES_NEW 中更新,然后在不同的事务中查找返回旧数据。为什么?

java - 如何将 cookie 中的数据从一个 Web 应用程序传递到另一个 Web 应用程序

php - jQuery:$.cookie 的值与 PHP $_COOKIE 不同? (仅 webkit 浏览器)

java - 反射 - 从 HashMap 获取不同的结果 - LinkedHashMap

java - 下载的 zip 文件返回零,大小为 0 字节

java - InputSource 和 InputStream 有什么区别?

java - 在 Liberty 中创建 EJB 计时器

asp.net - Set-cookie 间歇性地不被遵守