FenceRain 2023-07-14 09:48 采纳率: 33.3%
浏览 6

java 通过ldap 如何修改ad域的域账号

域账号原来是lixi,如何通过程序修改为liqian,其他的属性信息不改变

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-14 12:43
    关注
    • 这篇博客: java集成ldap验证用户名和密码中的 查找信息 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 连接查找过程可能会出现各种问题,这里推荐两篇博客:
      ldap查询语法
      LDAP的特定错误

      public static void search() throws Exception {
              LdapContext ctx = connetldap();
              // 设置过滤条件
              String filter = "(mail=*)";
              // 限制要查询的字段内容
              String[] attrPersonArray = { "uid", "userPassword", "displayName", "cn", "sn", "mail", "description"};
              SearchControls searchControls = new SearchControls();
              searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
              // 设置将被返回的Attribute
              searchControls.setReturningAttributes(attrPersonArray);
              // 三个参数分别为:
              // 上下文;
              // 要搜索的属性,如果为空或 null,则返回目标上下文中的所有对象;
              // 控制搜索的搜索控件,如果为 null,则使用默认的搜索控件
              NamingEnumeration<SearchResult> answer = ctx.search("你的base", filter, searchControls);
              // 输出查到的数据
              while (answer.hasMore()) {
                  SearchResult result = answer.next();
                  NamingEnumeration<? extends Attribute> all = result.getAttributes().getAll();
                  while (all.hasMore()) {
                      Attribute attr = all.next();
                      System.out.println(attr.getID() + "=" + attr.get());
                  }
                  System.out.println("============");
              }
          }
      
    评论

报告相同问题?

问题事件

  • 创建了问题 7月14日