Windows环境中的Spring Security单点登录

Rae*_*vik 7 spring kerberos active-directory spring-security spnego

我有一种感觉,我偶然发现了一个技术黑洞.有很多问题,并没有很多(最近的)答案.

简短的摘要:

我有一个Windows环境,使用域控制器和Active Directory实现(很快将使用Quest的身份验证服务).我有一系列基于Spring的Web应用程序,我想部署到这个环境,我们需要它们使用域凭据与Single Sign-On无缝协作.

看起来答案是这样的:

http://blog.springsource.org/2009/09/28/spring-security-kerberos/

一些本地AD管理员告诉我,ktpass是不安全的(主文件和密钥存储在纯文本文件中)和过时的解决方案.鉴于上面链接的博客是3年,很难说.

然后我遇到了这个:

http://forum.springsource.org/showthread.php?134465-JDK-7-0-and-Spnego-Extension-don-t-work!

大约一周左右发布,看起来最近集成SPNEGO扩展的努力表明它与JDK 7不兼容,不再支持!

对于人们来说,这似乎是常见的事情.我很惊讶,有一个像Spring一样广泛的框架,没有一种简单的方法可以实现这一点.我还没有在文档中找到另一种方法吗?

感谢您的任何见解或建议.

sou*_*ica 5

看看WAFFLE.

WAFFLE是一个本机Windows身份验证框架,由两个C#和Java库组成,它们执行与Windows身份验证相关的功能,支持Negotiate,NTLM和Kerberos.Waffle还包括在Windows上运行时为流行的Java Web服务器启用嵌入式Windows Single Sign On的库.

它有一个与Spring Security一起使用的教程.

  • 请记住这里的单词"..在Windows上运行时..." - WAFFLE依赖于您的webapp可能运行的盒子上的本机Windows库,因此将在运行时在*non*Wintel服务器上失败.这似乎很明显,但它让我感到震惊.它在我的Win7开发环境中运行良好,但在部署到我们的Linux VM时遭到轰炸.卫生署. (7认同)