使用带有Active Directory的JBoss获取角色中的用户列表

时间:2015-05-06 13:38:24

标签: java jboss active-directory

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

1 个答案:

答案 0 :(得分:1)

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

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