lizheng_eave 2015-11-19 09:07 采纳率: 0%
浏览 4054
已结题

java通过ldap新增、修改、删除windowsAD域用户

Hashtable env = new Hashtable();
String adminName = "testadmin@aa.com";
String adminPassword = "sdfsd@1!";
String userName = "CN=新用户,OU=用户(测试),DC=aa,DC=com";
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, adminName);
env.put(Context.SECURITY_CREDENTIALS, adminPassword);
env.put(Context.PROVIDER_URL, "ldap://192.168.10.10:389");
try {
LdapContext ctx = new InitialLdapContext(env, null);
Attributes attrs = new BasicAttributes(true);
attrs.put("objectClass", "user");
attrs.put("samAccountName", "xinyonghu");
attrs.put("cn", "xinyonghu");
attrs.put("displayName", "新用户");
attrs.put("userPrincipalName", "xinyonghu@aa.com");

        int UF_ACCOUNTDISABLE = 0x0002;
        int UF_PASSWD_NOTREQD = 0x0020;
        int UF_PASSWD_CANT_CHANGE = 0x0040;
        int UF_NORMAL_ACCOUNT = 0x0200;
        int UF_DONT_EXPIRE_PASSWD = 0x10000;
        int UF_PASSWORD_EXPIRED = 0x800000;

        attrs.put(
                "userAccountControl",
                Integer.toString(UF_NORMAL_ACCOUNT + UF_PASSWD_NOTREQD
                        + UF_PASSWORD_EXPIRED + UF_ACCOUNTDISABLE));

        Context result = ctx.createSubcontext(userName, attrs);
        为什么我创建的用户是未启用的
        ![图片说明](https://img-ask.csdn.net/upload/201511/19/1447923871_430890.png)
        如果才能创建已经开启的用户。如何给用户设置密码让新创建的用户能够登陆到ad域里?谢谢
  • 写回答

1条回答 默认 最新

  • 东风玖哥 2015-11-20 02:25
    关注

    图片没传上来,你重新编辑一下

    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?