公司业务需求,java实现对AD域账号得管理。
1.创建账号(不带密码,userAccountControl 为514(512+2) 要以字符转的形式)参考https://support.microsoft.com/zh-cn/help/305144/how-to-use-useraccountcontrol-to-manipulate-user-account-properties
2.创建账号带密码,userAccountControl为512 要ldaps协议通讯,具体如何操作下面详解。
3.创建账号,获取AD域账号,删除AD域账号 参考 https://www.jianshu.com/p/316fbb6bfd81 注:添加属性 获取属性 判断属性值是否为空
4.修改AD域账号 参考https://blog.csdn.net/ki_boy/article/details/38731593
5.创建组织,修改组织,组织添加,删除人员 参考 https://blog.csdn.net/qq_22798455/article/details/81087275
6.ldaps详解,创建密码字段,修改密码,控制权限,!!!密码一定要加双引号(实例:String newQuotedPassword = "\"" + newPassword + "\""; ) 参考https://blog.csdn.net/tiantiandjava/article/details/91944135 重置密码请参考https://hant-kb.kutu66.com/java/post_12124095 userpassword 改成 unicodePwd
7.java证书安装 https://blog.csdn.net/hc1017/article/details/81293323
8.验证登陆 https://blog.csdn.net/garyond/article/details/80224221
https://bbs.csdn.net/topics/391829578
9.配置多个ldap,ldaps连接,不同用户访问不同得ldap,ldaps
思路:
顺便说下ldaps连接 类似spring ldap 只要把url ldap 变成ldaps 端口389 改成636
10 partialresultexception报错解决方案
11
javax.naming.CommunicationException: simple bind failed: misguided.com.au:343 [Root exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
12 单纯得simple bind failed connect resued 是你ldaps访问不到 需要步骤7 创建 AD CS