如果我有一台使用LdapExtLoginModule连接到Active Directory服务器的JBoss服务器,我的java restful web servlet是否可以将Active Directory中的组名称作为字符串,并询问Active Directory服务器对于属于该组的用户列表?
答案 0 :(得分:1)
绝对。困难的方法是使用JNDI为属性member =的所有用户(objectCategory = person)执行LDAP查询。但是JNDI并不是最优雅的API,正确地找到AD服务器并不简单,你必须使用DN字符串而不是通常的Windows名称来做所有事情。
简单的方法是使用Jespa使这类事情变得微不足道,它会正确地故障转移到另一台AD服务器,并且它了解Windows组名,帐户名,SID等。 Jespa还做了很多其他的事情。如果您最终尝试检查组成员身份并使用Jespa NtlmSecurityProvider代替身份验证,则可以使用Account.isMemberOf(或isUserInRole)检查组成员身份,并且比使用LDAP更快。