我希望允许属于特定 Active Directory 组的用户登录。我没有用户的 CN 或 DN - 只有他们的证书。仅使用此证书是否可以获取 Active Directory 用户?
我知道我可以使用“userCertificate”属性对用户证书执行 LDAP 查询。但是,我想使用此属性查询用户。大致如下:
(&(objectClass=user)(userCertificate=<user's certificate>))
这似乎不起作用。
另一种方法可能是获取我正在寻找的组,然后获取并循环该组的所有成员。我必须将提供的证书与每个 AD 用户的证书进行比较。这种方法不太理想,因为对于拥有大量用户的组或拥有大量证书的用户来说,它的效率不是很高。
如有任何建议,我们将不胜感激。
最佳答案
我发现这是可能的,但速度很慢。语法如下:
(&(objectClass=user)(userCertificate;binary=\12\34\56\AB\CD\..))
证书需要采用十六进制格式,并且必须进行转义。
引用:http://comments.gmane.org/gmane.network.openldap.general/46598
关于java - 是否可以仅使用用户的证书来查询 Active Directory 中的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19687137/