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

标签 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

我想要实现的是:

  1. 当用户从公司网络中的 Windows 计算机打开应用程序网址时,他应该通过公司 LDAP 服务器进行身份验证,并能够在要求输入密码的情况下进入仪表板。
  2. 当从公司网络外部的任何计算机打开相同的网址时,应显示登录页面,并在提供凭据时针对公司 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

  1. 添加 Ldap Activity 目录地址

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

  2. 连接 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/

相关文章:

objective-c - 在 mac 平台上,如何以编程方式确定用户何时通过 SSH session 登录?

sockets - Netcat:使用 nc -l port_number 而不是 nc -l -p port_number

java - POI 3.8 与 dbunit 2.4.9 不兼容

java - 通过 Spring Data JPA 自动生成 RepositoryImpl 时“无法解析匹配的构造函数”

java - 如何重写 PropertySourcesPropertyResolver 并向外部化配置添加额外的属性源

java - Spring 安全更新 2.x 到 3.2.5 SecurityContextHolder 问题

java - FLINK CEP (Java 8) - 通过匹配模式持久化 "identity"

java - Oreo 中我自己的 URI 上的 ContentProvider.notifyChange 的安全异常

java - 集成测试将整个对象发布到 Spring MVC Controller

linux - 如何在可视模式下用 HTML 标签重复 VIM 环绕