1

如果我的用户属于特定的 Active Directory 组,我想允许他们登录。我没有用户的 CN 或 DN - 只有他们的证书。是否可以仅使用此证书获取 Active Directory 用户?

我知道我可以使用“userCertificate”属性对用户证书执行 ldap 查询。但是,我想使用此属性查询用户。类似于以下内容:

    (&(objectClass=user)(userCertificate=<user's certificate>))

这似乎不起作用。

另一种方法可能是获取我正在寻找的组,然后获取并遍历该组的所有成员。我必须将提供的证书与每个 AD 用户的证书进行比较。这种方法不太理想,因为它对于拥有大量用户的组或拥有大量证书的用户来说效率不高。

任何建议将不胜感激。

4

1 回答 1

0

我发现这是可能的,但是速度很慢。这是语法:

(&(objectClass=user)(userCertificate;binary=\12\34\56\AB\CD\..))

证书需要以十六进制格式化,并且必须进行转义。

参考:http ://comments.gmane.org/gmane.network.openldap.general/46598

于 2013-10-30T22:57:36.113 回答