SSO和ServletRequest.login()和ServletRequest.logout()在Glassfish 3.1中不起作用

SSO和ServletRequest.login()和ServletRequest.logout()在Glassfish 3.1中不起作用,glassfish,java-ee-6,single-sign-on,Glassfish,Java Ee 6,Single Sign On,//我会试着改进一下这个问题,看看是否能得到帮助 我们的glassfish服务器中有一组应用程序,我们希望在它们之间使用SSO。因此,我们提出了一个“身份验证”web应用程序,它只包含对用户进行身份验证的表单。然后,此应用程序将此用户路由到他想要访问的任何应用程序 问题在于,当使用表单身份验证方法和通过ServletRequest.login()编程登录时,不会创建SSO cookie。只有通过基本身份验证或j_安全检查,我们才能看到正在创建的SSO会话cookie 类似地,ServletReq

//我会试着改进一下这个问题,看看是否能得到帮助

我们的glassfish服务器中有一组应用程序,我们希望在它们之间使用SSO。因此,我们提出了一个“身份验证”web应用程序,它只包含对用户进行身份验证的表单。然后,此应用程序将此用户路由到他想要访问的任何应用程序

问题在于,当使用表单身份验证方法和通过ServletRequest.login()编程登录时,不会创建SSO cookie。只有通过基本身份验证或j_安全检查,我们才能看到正在创建的SSO会话cookie

类似地,ServletRequest.logout()方法也无法让用户注销SSO会话,从而导致严重的安全漏洞


我想知道使用编程登录/注销和SSO的方法是否根本不起作用(因此,我们做得不对);或者,如果我们在Glassfish中遗漏了一些关于SSO和安全性的内容。

我想我已经找到了原因:


漏洞已打开,可能会进入新版本。。。但投票表决将有助于实现这一目标。如果你遇到同样的问题,请帮我投票

另外,request.logout()也不会使SSO cookie无效!他们的文档中甚至提到了这一事实:
编程登录状态不一定在会话中持续存在或参与单一登录。