永发信息网

LDAP如何增加用户

答案:3  悬赏:30  手机版
解决时间 2021-11-27 18:57
  • 提问者网友:書生途
  • 2021-11-27 04:44
LDAP如何增加用户
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-11-27 05:07
增加用户
public boolean addUserToLdap(String userCn) {
LdapContext ctx = getLdapConnection(); //AD认证,获取Ldap连接对象ctx
Attributes attrsbu = new BasicAttributes(true);
BasicAttribute objclassSet = new BasicAttribute("objectclass");
for (String _class : LdapConfig.userObjectClass.split(",")) {
objclassSet.add(_class.trim()); //加入一些基本元素top,person,organizationalPerson,user
}
boolean isExist = this.searchUser(ctx, userCn); //添加用户前先查找AD中是否存在该用户
if (isExist == false){
attrsbu.put(objclassSet);
attrsbu.put(new BasicAttribute("cn", userCn)); //userCn:要添加的用户
attrsbu.put(new BasicAttribute("sAMAccountName", userCn));
attrsbu.put(new BasicAttribute("sn", userCn));
attrsbu.put(new BasicAttribute("displayName", userCn)); //AD中显示的名称
attrsbu.put(new BasicAttribute("userPrincipalName", userCn + LdapConfig.domainName));
try {
String userDn = "cn=" +userCn + ","+ LdapConfig.userRootDn;
ctx.createSubcontext(userDn, attrsbu); //添加用户到Ldap
System.out.println("[addUserToLdap] Add User:" + userDn);

ModificationItem[] mods = new ModificationItem[2];
//此密码必须注意:得到的字符串是""password""这种格式
String newQuotedPassword = LdapConfig.user_default_password;
byte[] newUnicodePassword = newQuotedPassword.getBytes("UTF-16LE");
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,
new BasicAttribute(LdapConfig.password_field,newUnicodePassword));
mods[1] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE,
new BasicAttribute(LdapConfig.userAccountControl,Integer.toString(
UF_NORMAL_ACCOUNT
+ UF_PASSWORD_EXPIRED
+ UF_DONT_EXPIRE_PASSWD)));
ctx.modifyAttributes(userDn, mods); //更改用户密码和权限
} catch (Exception e1){
e1.printStackTrace();
destroyLdapConnection(ctx);
return false;
}
}else{
System.out.println("isExist :" + isExist + "用户:" + userCn + "已存在");
}
destroyLdapConnection(ctx);
return true;
}
全部回答
  • 1楼网友:渊鱼
  • 2021-11-27 06:54
例子,如:user 属于 OU=lew,dc=example,dc=com
objectClass: person 就可以了。写ldif文件
  • 2楼网友:長槍戰八方
  • 2021-11-27 05:56
创建文件test.lidf
文件内容:
dn:OU=lew,dc=example,dc=com
objectclass:person
Name:zhangsan
Tel:13412345678

执行以下命令
ldapadd -x -D 用户名 -w 口令 -f test.ldif
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯