我有一种感觉,我跌入了一个技术黑洞。有很多问题,但没有多少(最近的)答案。
简短的摘要:
我有一个使用域 Controller 和 Active Directory 实现运行的 Windows 环境(即将使用 Quest 的身份验证服务运行)。我有一系列基于 Spring 的 Web 应用程序,我想部署到这个环境中,我们需要它们使用域凭据通过单点登录无缝运行。
看起来答案是这样的:
http://blog.springsource.org/2009/09/28/spring-security-kerberos/
我从一些本地 AD 管理员那里得知 ktpass 是不安全的(主体和 key 存储在纯文本文件中)和过时的解决方案。鉴于上面链接的博客已有 3 年历史,因此很难争论。
然后我遇到了这个:
http://forum.springsource.org/showthread.php?134465-JDK-7-0-and-Spnego-Extension-don-t-work !
大约一周前发布,看起来最近集成 SPNEGO 扩展的努力表明它与 JDK 7 不兼容并且不再受支持!
对于人们来说,这似乎是一件很常见的事情。我很惊讶,对于像 Spring 这样广泛使用的框架,没有一种简单的方法可以实现这一目标。我在文档中还没有找到另一种方法吗?
感谢您的任何见解或建议。
请您参考如下方法:
退房 WAFFLE .
WAFFLE is a native Windows Authentication Framework consisting of two C# and Java libraries that perform functions related to Windows authentication, supporting Negotiate, NTLM and Kerberos. Waffle also includes libraries that enable drop-in Windows Single Sign On for popular Java web servers, when running on Windows.
它有一个 tutorial将其与 Spring Security 一起使用。