我目前正在尝试在多个基于JVM(Grails,Servlets)的Web应用程序上实现单一登录解决方案,这些Web应用程序当前都部署在同一个servlet容器中(目前是Tomcat,但不希望将我的解决方案仅限于Tomcat).所有Web应用程序共享一个公共数据库
我已经看过使用CAS或其他第三方库创建新的Web服务来处理单点登录的各种选项,但似乎没有一个真正满足业务需求.我当前的实现涉及创建一个新的jar库,它具有基于Spring Security的AuthenticationProviders和Pre-Authentication Filters的通用实现.
在这种方法中,我有多个AuthenticationProviders(当前是Active Directory和Database)供应用程序进行身份验证.验证成功后,将在包含用户的会话表,过期时间和令牌中插入一行.令牌也将作为cookie存储在用户的计算机上,并用于验证它们在预认证过滤器中是否具有当前会话.
在我想要确保我没有创建一个巨大的安全问题之前从未这样做过,我也想知道创建令牌需要什么?此时一个简单的GUID似乎足够了吗?
目前我们正在开发Spring Security 3.0.x,尚未升级到3.1.
提前致谢.
最佳答案
在Spring Security Extensions网站上有可用于KERBEROS,OAuth和SAML的扩展.这是博客条目,提供了一个示例:SpringSource Blog
如果您使用NTLM作为SSO提供程序,请查看jespa-spring项目.
或者你可能想看看Java Open Single Sign-On Project
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。