查看当前连接的Ldap用户的属性

时间:2015-05-14 09:22:59

标签: java ldap jndi

我以Bob的身份连接到LDAP服务器:

context

现在我想查看Bob的姓名和电子邮件地址。

我希望在context.search上找到一个方法来返回当前连接用户的属性,但我找不到。

Bob没有权限搜索该目录,因此我无法在连接后使用brew uninstall postgres brew install postgres initdb `brew --prefix`/var/postgres/data -E utf8``

有没有办法获得这些属性而无需再次调用LDAP服务器,或者必须先以别人身份连接?

1 个答案:

答案 0 :(得分:0)

您需要使用RFC 4532'whoami'扩展操作,OID = 1.3.6.1.4.1.4203.1.11.3。你需要为自己写一个ExtendedRequestExtendedResponse类(抱歉不能发布我的,但很简单),并按如下方式使用它:

WhoAmIExtendedResponse  response = (WhoAmIExtendedResponse)context.extendedOperation(new WhoAmIExtendedRequest());

然后从响应中获取authZId。这是当前用户的DN,以"dn:"为前缀。然后,您可以通过context.getAttributes("...")

获取其属性