1

我正在尝试使用 spring security 和 jboss 服务器实现 LDAP 身份验证。

以下是我的环境设置:

  1. 在公司 Windows 服务器上运行的活动目录

  2. 要部署的应用程序运行在 RHEL 6.4 上的 jboss 服务器

  3. 要使用的java版本:1.6

  4. JBoss 版本:jboss-eap6、jboss-as-7.1.1 Final

我想要实现的是:

  1. 当用户从公司网络中的 windows 机器打开应用程序 url 时,他应该通过公司 LDAP 服务器进行身份验证,并且能够在被要求输入密码的情况下进入仪表板。
  2. 当从公司网络外的任何机器打开相同的 url 时,应显示登录页面,并在提供凭据时对公司 LDAP 进行身份验证,然后应显示用户特定的仪表板页面。

我已经浏览了互联网上提供的 WAFFLE 和 SPNEGO 文档/教程,但是 WAFFLE 不能在 Windows 以外的操作系统中工作,因为它使用了一些 Win32 api。此外,SPNEGO (PRE-AUTH) 所做的并不是我想要实现的。

简而言之,想要实现 WAFFLE 的功能,但问题是我的应用程序将部署在 unix 机器上。

请帮我。

4

1 回答 1

1

What you can do, is start out configuring your application using an in-memory authentication provider. Internalisation using Spring Security In-Memory Authentication

The only thing you then have to do is change out the in-memory authentication provider with an LDAP authentication provider. The best information I found so far is in the spring reference itself. http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ldap.html

  1. Add the Ldap active directory address

    < ldap-server url="ldap://springframework.org:389/dc=springframework,dc=org" />

  2. Hook up the ldap bind authentication provider

    < ldap-authentication-provider user-search-filter="(uid={0})" user-search-base="ou=people"/>

于 2013-11-10T10:34:14.893 回答