关于Java操作Ldap,添加用户/用户组时报错
public static void addUser() {
    String parentDN = "CN=Users,DC=jovaunn,DC=com";
    String childName = "lj1Group";
    String childDN = "CN=" + childName + "," + parentDN;
    Attribute cn = new BasicAttribute("cn", childName);
    Attribute oc = new BasicAttribute("objectclass");
    oc.add("top");
    oc.add("group");

    try {

        Attributes entry = new BasicAttributes(true);
        entry.put(cn);
        entry.put(oc);
        ldapContext.createSubcontext(childDN, entry);
        System.out.println("Add User: added entry" + entry +".");

    } catch (NamingException e) {
        System.err.println("Add User: error add entry" + e);
    }
}

我的需求是给Ldap某个节点下添加用户组或者是用户。
然后我这样操作,选定节点CN=Users,DC=jovaunn,DC=com,我添加一个用户组CN=testGroup,objectclass=top,group,然后执行代码,这样是没有问题的。
但是,我在我自己添加的这个用户组之下,想要添加用户CN=test1,objectclass=top,user时,执行代码就会报错,错误如下 :
Add User: error add entryjavax.naming.InvalidNameException: CN=test1,CN=testGroup,CN=Users,DC=jovaunn,DC=com: [LDAP: error code 64 - 00002099: NameErr: DSID-03051133, problem 2005 (NAMING_VIOLATION), data 0, best match of:
'CN=testGroup,CN=Users,DC=jovaunn,DC=com'
我在google上查了一下,大概是命名不规范的问题,所以想请教一下,具体的命名规则是怎么样的,有哪些是需要注意的,当然,如果能够帮我修改上面的代码的话,那自然是最好的,谢谢!
ps:连接什么的都是没问题的,之前做过搜索的操作,是可以完成的.

3

2个回答

code64 命名冲突

0

控制台输出的内容是'CN=testGroup,CN=Users,DC=jovaunn,DC=com'
而你String childName = "lj1Group";
String childDN = "CN=" + childName + "," + parentDN;
此时你想要新加的用户组是lj1Group而控制台内容是testGroup
说明此时的testgroup还没有去掉
命名冲突也可能是 entry.put(cn);
entry.put(oc);这里出了什么问题
今天下午在做demo的时候也有好多error
ldap有个错误编码表和释义 baidu spring ldap code 64(or other ...)
希望对你有帮助

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SpringLdap创建用户/组的基本操作(详细)
最近公司要实现AD域的自动化,列了一些需求清单,自己也在学习ldap中,希望大家交流一下。 1. 用户 @Entry(objectClasses = {"user", "organizationalPerson", "person", "top"}) public class AdUser { @Id @JsonIgnore private Name id; ...
用JAVA刺穿LDAP (一)-- java添加AD用户
//建立LDAP服务器的连接 package com.prime.mypackage; import java.io.File; import java.io.FileInputStream; import java.util.Hashtable; import java.util.Properties; import javax.naming.Context...
java实现LDAP 部门和用户的增删改查 实现过程
上个星期,公司给分了个任务,要用java开发LDAP和AD操作工具,我这之前可是听都没听过这个东西,没办法只能求助于万能的百度,看了好多网上相关的博客和心得,编写时也遇见不少问题,因为公司要求实现部门和员工的增删改查功能,这里就将我在实现过程中遇到的疑惑和问题进行总结,关于LDAP和AD的基础知识,讲真我也没有细细研究,这里就不加讲述了。  LDAP的基本模型是建立在“条目”(Entry)的基础上
python实现LDAP中组(group)添加用户(user)功能
因为没发现群组清空用户的功能,最开始写的函数是三个参数:群组标识、添加用户、删除用户。觉得接口不好用,后来发现组合下即可,代码如下: #清除,在将用户全部插入 def update_users(self, groupname, users=[]): """ :param groupname: 组名,字符串类型如"groupname";
《基于Linux在OpenLdap上添加用户和组》
生产场景:之前一段时间和师傅一起搞Openldap时候,发现如果有新员工入职了,人工手动添加相应的Ldap号非常浪费时间,所以就琢磨着看能不能写个脚本优化下这种操作? 需求:通过运行脚本,给定相应参数,将新来的员工添加至公司的OpenLdap。 解决方案:基于Linux在OpenLdap上添加用户和组
LDAP 管理用户(组)
LDAP 管理用户(组)LDAP实现提供被称为目录服务的信息服务,可以看做是一张特殊的数据库系统。可以有效的解决众多网络服务的用户账户问题,规定了统一的身份信息数据库、身份认证机制和接口,实现了资源和信息的统一管理,保证了数据的一致性和完整性。
Confluence 6 自动添加用户到用户组
默认组成员(Default Group Memberships)选项在 Confluence 3.5 及后续版本和 JIRA 4.3.3 及后续版本中可用。这字段将会在你选择 'Read Only, with Local Groups' 权限后出现。如果你希望你的用户能自动添加到用户组或多个用户组,在这里输入你希望添加的用户组的名字,如果有多个用户组,使用逗号分隔不同的用户组。在 Confluen...
Confluence 6 连接到一个 LDAP 目录
https://www.cwiki.us/display/CONFLUENCEWIKI/Connecting+to+an+LDAP+Directory
在LDAP服务器添加用户
1. 在浏览器中打开http://youserver/phpldapadmin 2. 点击【Login】按钮,输入管理员密码。 3. 点击【Create a new entry here】. 4. 点击【Generic: Postfix Group】. 5. 输入【Users】, 点击【Create Object】 6. 点击【Commit】 7. 下一步添...
Java验证Ldap账号和读取Ldap中所有用户
一、验证Ldap用户public class LDAPAuthentication{ private final String URL = "ldap://192.168.1.205:389/"; private final String BASEDN = "cn=demo1,dc=sys,dc=com"; // 根据自己情况进行修改 private final ...
Centos6.5搭建LDAP服务器及用户添加删除
学习搭建LDAP用户认证管理服务器。环境准备两台虚拟机 node01 IP:192.168.242.100 server端 node02 IP:192.168.242.13 client端 均关闭iptables和selinux步骤分为server端操作和client端操作server端yum install openldap-servers -y拷贝配置文件cd /usr/
Ldap用户属性太少的问题
按照SpringLdap的官方文档指示新建的用户属性总是太少,不够用。在LDAP Administrator中看到的用户属性明明有很多,注入值的时候缺总是报错,到底是怎么回事? 原来用户的ObjectClass,有三种:Person、OrganizationalPerson、inetOrgPerson。三种ObejctClass都可以用来表示人。从属性数量的角度来说,inetOrgPerson的
手动添加用户hive,基本组为hive(5000),附加组为mygroup
题目: 手动添加用户hive,基本组为hive(5000),附加组为mygroup 【第一步】 编辑/etc/group最后添加一行 # nano /etc/group hive:x:5000: #hive为组名,X密码占位符,5000代表该组的id号为5000,最后一位为附加组,这里没有填写 【第二步】 编辑/etc/passwd在最后添加一行 # nano /
openldap 安装 配置 导入用户信息
安装 下载 openldap-2.2.19-db-4.3.21-openssl-0.9.7e-win32 安装程序,按照常规软件安装步骤安装完成即可。 配置 slapd.conf 打开 slapd.conf 文件,找到 ucdata-path,可以看到里面已经配置了一些 include **/*.schema,为了使用方便可以把其它自带的 etc/schema 文件夹下的其它文件也添
Confluence 6 在你的 LDAP 目录中优化用户和用户组数量
连接 LDAP 服务器能为你的用户管理提供灵活高效的解决方案。为了达到优化的性能,后台同步程序将会从 LDAP 上查找和下载数据同步到你本地的 Confluence 服务器数据库上同时还会定时的更新数据以保持 Confluence 的数据与 LDAP 上的数据是一致的。在对用户进行同步,拷贝,缓存的时候用户,用户组和用户组成员的数量将会决定系统同步所需要的时间。我们推荐最大用户的使用数量和同步方法...
openldap 批量增加或修改属性
1. 把excel表导入数据库再编程生成或直接生成需要修改的ldif格式文件,命名为modify.ldif 文件内容格式如下: dn: uid=20180103,ou=201801,ou=2018,ou=student,ou=people,dc=linbsoft,dc=com changetype: modify add: mobile mobile: 13812345678 【空行】 dn...
LDAP网络用户创建账户及认证脚本
[root@server40 mnt]# vim auth-config.sh #!/bin/bash echo "install packages..." yum install sssd krb5-workstation -y &> /dev/null echo "config authconfig..." authconfig \ --enableldap \ --enab
java操作Ldap,支持建立开启状态的用户,支持修改密码,放入eclipse测试即用
java操作Ldap,支持建立开启状态的用户,支持修改密码,放入eclipse测试即用,彻底操作AD域用户,有不明白的可以联系我
Azkaban用户管理,添加用户,定义组,定义角色
1.Azkaban用户管理 在azkaban中${AZKABAN_HOME}/conf/azkaban.properties中的以下配置文件来进行用户的管理。 user.manager.class=azkaban.user.XmlUserManager user.manager.xml.file=/home/bigdata/installed/azkaban-web/conf/azkaba...
LDAP基础:5:使用ldapadd进行数据增加
在前面的文章中学习到了如何搭建openldap服务,以及如何从客户端进行访问,同时最基础的ldap的概念和树形结构的常见构成方式也多少有些涉及,在这个基础之上,就可以开始使用LDAP了。这篇文章来介绍一下如何创建相关的信息。
Confluence 6 如何添加用户到用户组图文教程
选择基本配置选择用户组操作界面选择需要添加用户的用户组在用户组列表中,选择需要添加或者删除用户的用户组。选择添加成员在页面的右上角有添加成员的链接,单击那个连接选择添加成员。输入或者查找用户名如果你知道用户名的话,你可以直接输入用户名进行添加。 如果你不知道用户名你可以单击查找按钮进行查找。 请注意,查找用户名将会弹出用户查找窗口,你的浏览器应该允许弹出新窗口。输入查找的信息你可以输入用户的名字,...
Cloudera Manager 配置 LDAP - 通过搜索绑定实现用户和组的映射
直接绑定和搜索绑定 因为使用直接绑定方式,会导致集群无法被多个团队的多个角色混用。举个例子,我们有这样的场景: 用户 a1 属于组 A,组 A 对应 Sentry 中的 dev 角色; 用户 a2 属于组 A,组 A 对应 Sentry 中的 dev 角色; 用户 b1 属于组 B,组 B 对应 Sentry 中的 ops 角色; 用户 b2 属于组 B,组 B 对应 Sentry 中的 o
使用Java操作LDAP案例
[size=x-large][b]1 案例描述[/b][/size] 公司平台使用LDAP来储存企业或用户的信息,在系统的运行过程中需要对LDAP存储的信息进行相关的访问和操作,那么在Java中是如何操作LDAP的呢? [size=x-large][b]2 案例分析[/b][/size] LDAP是一个得到关于人或者资源的集中、静态数据的快速方式,是一种存储模式和访问协议。 Unbou...
Confluence 6 通过用户管理编辑组成员
你可以从用户管理界面中更新用户的组。这种方式能够让你一次只更新一个用户。 希望从用户组中添加或者删除用户: 为希望进行管理的用户进入用户管理界面。你有下面2种方法可以这样做: 可以,进入用户的属性,然后在用户的属性界面中选择 管理用(Administer User )。 或者...
java代码LDAP操作(增删改查)AD(活动目录)- 删除
删除用户 连接ldap的类 package cn.com.wilcom.main; import java.util.Hashtable; import javax.naming.Context; import javax.naming.NamingException; import javax.naming.ldap.InitialLdapContext; import javax.na
添加用户命令useradd详解
添加用户命令useradd详解 useradd参数选项: -c comment:新账号password档的说明栏(注释) -d home_dir:新账号每次登入时所使用的home_dir(家目录)。 -e expire_date:账号终止日期 -g initail_group:用户登入起始用户组 -G group:定义此用户为不同组的成员 -M:不建家目录 -s shell:用户登...
linux 新建用户、用户组 以及为新用户分配权限
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主
LDAP系列二创建用户
一:创建用户 1:概述 默认情况下在slapd.conf文件中配置有超级管理员账号,除了这个账号外,我们还可以添加其他的管理员账号,并控制相应的权限,比如只读,可写。Ldap新增用户,可以通过客户端工具实现,也可以通过命令来实现。我这里主要通过ldapadd命令来实现。 目前ldapadd命令只支持ldif格式文件,生成LDIF格式文件 往openldap数据库存放数据,有多种方式:1. ...
Confluence 6 LDAP 用户组结构设置
用户组对象类(Group Object Class)这是在 LDAP 用户组对象中使用的类的名字。例如:groupOfUniqueNamesgroup用户组对象过滤器(Group Object Filter)这个过滤器将会在查找用户组对象的时候被使用。例如:(&(objectClass=group)(cn=*))用户组名字属性(Group Name Attribute)当载入用户组名字的时...
新建用户和用户组的shell
RT。代码如下,以供记录。 #!/bin/bash exeUser="root" username="tasuser" usergroup="tasuser" if [ `whoami` != "${exeUser}" ];then echo "install.sh must run by root" else echo "start install ..." ps
LDAP 查询指定目录-所有活动用户
LDAP 查询指定目录-所有活动用户
LDAP方式连接AD获取用户信息
LDAP资料介绍可以参考:http://wenku.baidu.com/view/262742f9f705cc17552709f9.html ldap访问AD域的的错误一般会如下格式: Ldap load error: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContex...
linux 为用户添加用户组
 将用户rookie添加到php-fpm组中,且不更改rookie的主组 usermod -a -G php-fpm rookie  
批量导入ad用户到用户组
命令: $Users=Get-Content C:\group\groupusers.txt Add-ADGroupMember -Identity nexus -Members $Users      groupusers.txt文件内容为用户登录名(sAMAccountName),用户名用“逗号”隔开,或者一行放一个用户名即可。 ...
Ldap Java同步用户
Java操作LDAP有几种方法,这里主要介绍的是JNDI包,就是它:            com.sun.jndi.ldap.LdapCtxFactory  LDAP默认情况下使用的是BDB数据库,所以呢,操作LDAP就和操作数据库一样,要分几步走: 1、先导入所需的包,如下: import java.util.ArrayList; import java.util.Hashtab
Linux--增加用户、添加用户组
增加用户:useradd -d /usr/username -m username 为用户增加密码:passwd username 新建工作组:groupadd groupname 将用户添加进工作组:usermod -G groupname username 删除用户:userdel username
ubuntu 添加用户、用户组
添加用户 useradd xxx -m    创建一个xxx的用户 sudo passwd xxx     设置xxx用户的密码   su xxx            切换到xxx用户 su – xxx           切换到xxx用户,且家目录变为xxx家目录   whoami         看用户名 who            查看登录用户 exit
Ubuntu基础命令(六)--添加和删除用户和用户组
useradd 用户名 为计算机添加用户,但不为用户建立主目录   此命令缺陷:该用户可以登录到系统的Shell,但不能登录到图形界面,  因为桌面环境无论是KDE还是GNOME,需要用到用户主目录中的一些配置文件   若用此命令创建用户,当用户登录GNOME时,系统会提示无法找到用户主目录,并拒绝访问   若在字符界面的2号控制台(Ctrl+Alt+F2)使用此用户登录,系统会引导该用...
ES入门创建
Linux 安装 Elasticsearch 详情步骤已及解决方案 第一步:环境 Linux系统 Java 1.8 elasticsearch-6.3.2 第二步:下载 2.1 JDK的下载可以去官网上直接下载,尽量使用jdk8 ,jdk7不支持,jdk9暂时有错误。 2.2 ES 去官网直接下载。 第三步:安装 3.1安装JDK环境 ...
Java操作ldap(springboot工程)
springboot工程对ldap进行操作,反射提取公用转化类,运行简单