在unix环境下部署在JBoss中的应用程序时如何实现Spring LDAP身份验证?

时间:2013-11-09 13:57:57

标签: java spring unix jboss spring-ldap

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

以下是我的环境设置:

  1. 在公司Windows服务器上运行的Active Directory

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

  3. 要使用的java版本:1.6

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

  5. 我想要实现的目标是:

    1. 当用户从公司网络中的Windows机器打开应用程序URL时,他应该对公司LDAP服务器进行身份验证,并且能够在被要求输入密码的情况下进入仪表板。
    2. 当从公司网络外部的任何计算机打开相同的网址时,应显示登录页面,并在提供凭据时应对公司LDAP进行身份验证,然后应显示用户特定的仪表板页面。
    3. 我已经通过互联网浏览了WAFFLE和SPNEGO文档/教程,但是WAFFLE在Windows以外的操作系统中不起作用,因为它使用了一些Win32 api。 SPNEGO(PRE-AUTH)所做的也不是我想要达到的目标。

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

      请帮帮我。

1 个答案:

答案 0 :(得分:1)

您可以做的是开始使用内存中的身份验证提供程序配置您的应用程序。 Internalisation using Spring Security In-Memory Authentication

您唯一需要做的就是使用LDAP身份验证提供程序更改内存中身份验证提供程序。 到目前为止,我发现的最佳信息是弹簧参考本身。 http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ldap.html

  1. 添加Ldap活动目录地址

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

  2. 连接ldap绑定身份验证提供程序

    < ldap-authentication-provider user-search-filter =“(uid = {0})”       用户搜索基础= “OU =人”/>