加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 获取LDAP对象的内部属性

发布时间:2020-12-14 14:48:33 所属栏目:Java 来源:网络整理
导读:我试图获取LDAP用户内部属性,但无法找到如何获取它们 DirContext ctx = this.getDirContext();ListEmployee list = new ArrayListEmployee();NamingEnumerationSearchResult results = null;try { SearchControls controls = new SearchControls(); controls
我试图获取LDAP用户内部属性,但无法找到如何获取它们
DirContext ctx = this.getDirContext();
List<Employee> list = new ArrayList<Employee>();
NamingEnumeration<SearchResult> results = null;
try {
  SearchControls controls = new SearchControls();
  controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
  results = ctx.search("","(objectclass=person)",controls);
  while (results.hasMore()) {
    SearchResult searchResult = results.next();
    Attributes attributes = searchResult.getAttributes();
    String fullName = this.getValue(attributes.get("cn"));
    //so on...
}
// so on

从LDAP,我也想获取每个员工/个人的内部属性.
默认情况下,它不返回内部属性[ex:createTimestamp]

解决方法

除非您要求,否则您将无法获得任何操作属性.目前你不是要求任何属性,这相当于构造SearchControls,或者之后调用SearchControls.setReturningAttributes(String []),使用参数new String [] {“*”}:这给你所有的非 – 操作属性.

要获取操作属性,请使用参数new String [] {“*”,“”}.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读