我正在尝试使用 spring security 和 jboss 服务器实现 LDAP 身份验证。
以下是我的环境设置:
在公司 Windows 服务器上运行的 Active Directory
要部署在 RHEL 6.4 上运行的 jboss 服务器的应用程序
使用的java版本:1.6
JBoss 版本:jboss-eap6、jboss-as-7.1.1 Final
我想要实现的是:
- 当用户从公司网络中的 Windows 计算机打开应用程序网址时,他应该通过公司 LDAP 服务器进行身份验证,并能够在要求输入密码的情况下进入仪表板。
- 当从公司网络外部的任何计算机打开相同的网址时,应显示登录页面,并在提供凭据时针对公司 LDAP 进行身份验证,然后应显示用户特定的仪表板页面。
我已经浏览过互联网上提供的 WAFFLE 和 SPNEGO 文档/教程,但 WAFFLE 不能在 Windows 以外的操作系统中工作,因为它使用一些 Win32 api。另外,SPNEGO(PRE-AUTH)所做的并不完全是我想要实现的。
简而言之,我想实现 WAFFLE 所做的事情,但问题是我的应用程序将部署在 unix 机器上。
请帮助我。
最佳答案
您可以做的是开始使用内存中身份验证提供程序配置您的应用程序。 Internalisation using Spring Security In-Memory Authentication
您唯一需要做的就是用 LDAP 身份验证提供程序更改内存中身份验证提供程序。 到目前为止,我找到的最好的信息是在 spring 引用本身中。 http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ldap.html
添加 Ldap Activity 目录地址
< ldap-server url="ldap://springframework.org:389/dc=springframework,dc=org"/>
连接 ldap 绑定(bind)身份验证提供程序
< ldap-authentication-provider user-search-filter="(uid={0})" user-search-base="ou=people"/>
关于java - 应用程序部署在unix环境下的JBoss中时如何实现Spring LDAP身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19876793/