【问题标题】:Is it possible to query Active Directory for a user with only the user's certificate?是否可以仅使用用户证书查询 Active Directory 的用户?
【发布时间】:2013-10-30 15:32:32
【问题描述】:

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

我知道我可以使用“userCertificate”属性对用户证书执行 ldap 查询。但是,我想使用此属性为用户查询 。大致如下:

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

这似乎不起作用。

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

任何建议将不胜感激。

【问题讨论】:

    标签: java active-directory ldap


    【解决方案1】:

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

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

    证书需要格式化为十六进制,必须转义。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-07
      • 2016-03-17
      • 1970-01-01
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多