Windows 环境下的 Spring Security 单点登录

标签 spring active-directory spring-security kerberos spnego

我有一种感觉,我跌入了一个技术黑洞。有很多问题,但没有多少(最近的)答案。

简短的摘要:

我有一个使用域 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 一起使用。

关于Windows 环境下的 Spring Security 单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14731202/

相关文章:

java - 即使一个 spring bean 初始化失败,也继续加载 webapp

java - Spring Security中的身份验证失败,为什么?

c# - LDAP over SSL 在设置快速并发绑定(bind)时返回 'unwilling to perform' 错误 (PrincipalContext.ValidateCredentials)

java - Spring security j_spring_security_check奇怪的重定向

spring-security - 如何在登录时提供额外的用户数据 (CAS)

Spring Data Neo4j 4 - 找不到类的标识字段

java - 为什么找不到spring Boot {}?

java - 无法从根上下文 Autowiring 子 bean(在 Web 上下文中定义)

c# - 分页 AD 查询有时会失败

c# - 针对 ActiveDirectory 进行身份验证