我以Bob的身份连接到LDAP服务器:
context
现在我想查看Bob的姓名和电子邮件地址。
我希望在context.search
上找到一个方法来返回当前连接用户的属性,但我找不到。
Bob没有权限搜索该目录,因此我无法在连接后使用brew uninstall postgres
brew install postgres
initdb `brew --prefix`/var/postgres/data -E utf8``
。
有没有办法获得这些属性而无需再次调用LDAP服务器,或者必须先以别人身份连接?
答案 0 :(得分:0)
您需要使用RFC 4532'whoami'扩展操作,OID = 1.3.6.1.4.1.4203.1.11.3。你需要为自己写一个ExtendedRequest
和ExtendedResponse
类(抱歉不能发布我的,但很简单),并按如下方式使用它:
WhoAmIExtendedResponse response = (WhoAmIExtendedResponse)context.extendedOperation(new WhoAmIExtendedRequest());
然后从响应中获取authZId。这是当前用户的DN,以"dn:"
为前缀。然后,您可以通过context.getAttributes("...")