spirng-data-ldap 给ad设置和修改用户的密码需要 ldaps访问

真的被这个问题坑的好难受。

spirng-data-ldap 基本操作稍微学习以下,看看demo很快就能上手。

可遇到设置用户密码的时候就怎么都不成功。

网上查了才发现,java修改ad域账号的密码需要用ldaps连接。

连接ldaps的过程坚信无比。

首先确认修改密码必须是通过ldaps来连接,开始还在这里徘徊,原来是协议的问题。

需要连接ldaps,就需要服务器开启ldaps服务,还需要配置证书。

对微软的东西实在是不了解,还有网上有大牛帖子:https://yq.aliyun.com/articles/118657

又整了一天,才算是ad这边准备好了,为了验证是否能用ldaps连接,找了一个ldaps的客户端软件。

Ldap Admin Tool 是mac版的,很好用,支持ldaps方式,还有下载证书。

另外ad的密码字段是隐藏的。

存密码的字段:

    @Attribute(name = "unicodePwd", type = Attribute.Type.BINARY)
    byte[] unicodePwd;

字段名和类型都要注意。

设置密码还需要个函数进行转换:

    public byte[] createUnicodePassword(String password) {
        try {
            return  password.getBytes("UTF-16LE");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }

接下来,就是证书问题,如果服务器是好的,网络没有问题,会提示没有有效的证书。

到这里已经成功一大半了。

从服务器导出证书 用java的工具 keytool 制作证书。

启动时加参数,大牛的帖子里都要详细的描述。

你可能感兴趣的:(linux,java)