单一登录没有Java的cookie

时间:2010-09-30 15:20:43

标签: java single-sign-on josso

我继续面对这个问题,我的经理如果客户端禁用cookie,SSO将如何工作,但我没有任何答案。我们目前正在使用JOSSO进行单点登录。我们是否有任何支持单点登录的开源框架,而不使用烹饪机制。

2 个答案:

答案 0 :(得分:3)

如果没有Cookie,您将不得不在每个网址请求中嵌入一些参数。例如登录后,您可以为用户分配一些任意ID,并将其嵌入到http://mydomain.com/main?sessionid=123422234235235等每个链接中。它可能会变得非常混乱,因为每个链接都必须在它出门之前修复,这会减慢你的内容。它还具有安全性,日志记录和会话历史记录的含义,当状态在cookie中时,这并不是一件大事。

对登录用户进行简单的cookie测试可能更简单,如果他们没有启用cookie,则将其发送到错误页面。

答案 1 :(得分:2)

CAS项目将“服务器上的签名”中的“票证”作为url查询参数传递给使用的应用程序,然后消费应用程序将后退通道请求返回到服务器上的签名以验证票证的真实性。这消除了对cookie的需求,因此跨域工作,但它有点“健谈”

另一个可以说更强大的解决方案是使用基于SAML的产品,这是跨域单点登录的行业标准。有几个开源产品使用SAML,CAS本身有SAML扩展,但它们通常设置起来非常复杂。 Cloudseal也基于SAML,使用起来更简单。 Cloudseal平台本身作为托管服务提供,但所有客户端库都是开源的

当然,对于所有这些解决方案,您只需将安全上下文从一个服务器传递到另一个服务器,消费应用程序无疑会创建自己的本地会话,因此您需要使用URL重写而不是cookie

免责声明:我为Cloudseal工作:)