0

我的具体问题是,当我尝试与以下完整 dn 绑定时,一切都很好

new LDAPConnection().bind(LDAPConnection.LDAP_V3, 
"uid=me@wherever.com,ou=Lev1,ou=Lev2,o=Company", "secret".getBytes());

但是,当我尝试绑定不完整的 dn 时,我收到了 Invalid Credentials 异常。

new LDAPConnection().bind(LDAPConnection.LDAP_V3,
"uid=me@wherever.com,ou=Lev1,o=Company", "secret".getBytes());

他们是否可以使用某种形式的通配符,例如“uid=me@wherever.com,ou=Lev1,ou=*,o=Company”?

4

3 回答 3

1

不。听起来您可能将 bind() 与 search() 混淆了。bind() 是针对目录的身份验证,例如登录。使用通配符 dn 绑定就像使用通配符用户名登录一样。真的没有意义。

于 2011-05-20T14:51:30.200 回答
0

要进行这样的通配符,您必须先进行搜索并选择要执行绑定的通配符。这可能意味着您需要绑定一个可以执行搜索的 id。;)

于 2011-05-20T14:48:28.237 回答
0

不,您描述的方式不可能使用通配符。但是,SASL 提供了一种机制来完成所需的行为。您的目录服务器管理员可能能够将目录服务器配置为将身份映射到授权 ID,其中客户端不需要知道身份的可分辨名称来验证 LDAP 连接。专业品质的目录服务器软件将提供多种身份映射功能。

于 2011-06-26T14:32:54.123 回答