java - 使用 JBoss 和 Active Directory 获取角色中的用户列表

标签 java jboss active-directory

如果我有一个使用 LdapExtLoginModule 连接到 Active Directory 服务器的 JBoss 服务器,我的 java Restful Web servlet 是否可以将 Active Directory 中的组名称作为字符串,并询问 Active Directory 服务器获取属于该组的用户列表?

最佳答案

绝对是的。困难的方法是使用 JNDI 对具有属性 member= 的所有用户 (objectCategory=person) 进行 LDAP 查询。但 JNDI 并不是最优雅的 API,正确找到 AD 服务器并不简单,您必须使用 DN 字符串而不是通常的 Windows 名称来完成所有操作。

最简单的方法是使用 Jespa,它使此类事情几乎变得微不足道,它将正确故障转移到另一台 AD 服务器,并且它可以理解 Windows 组名称、帐户名称、SID 等。 Jespa 还做了很多其他事情。如果您最终尝试检查组成员身份,并且使用 Jespa NtlmSecurityProvider 进行身份验证,则可以使用 Account.isMemberOf(或 isUserInRole)检查组成员身份,这比执行 LDAP 快得多。

关于java - 使用 JBoss 和 Active Directory 获取角色中的用户列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078477/

相关文章:

java - 如何在 JBoss EAP 7.1 中排除 jackson 库而不排除 Resteasy

java - 使用@WebService的 `endpointInterface`属性时如何隐藏Web服务中的接口(interface)方法?

memory-leaks - System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity 的奇怪问题

active-directory - 开发集成的用户管理、身份验证

java - 如何将重复数组元素分配为唯一键,并计算相应的整数值?

java 7目录监控问题

JBossWS 中的 Spring 配置

Excel 数据与 Active Directory 的连接

java - GWT 客户端中哪个是好的 Java 或 Json?

java - OnTouch MotionEvent Action 移动未触发