我有一个Web应用程序,用户可以通过Active Directory登录。这是使用Spring LDAP和CAS实现的。
问题是密码到期时 - 无法通过LDAP更改 - 我需要使用超级用户,这不是一个选项。
所以...我正在寻找更改Kerberos密码的代码示例,它必须在服务器端执行(不在Windows主机上)。它可以使用一些lib - 它不必仅限于JDK。
答案 0 :(得分:0)
我已经明白了
这是lib:
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>kerberos-client</artifactId>
<version>2.0.0-M20</version>
</dependency>
这是代码更改密码:
KdcConfig config = KdcConfig.getDefaultConfig();
config.setHostName("my-kdc.server.fred.com");
config.setUseUdp(false);
KdcConnection conn = new KdcConnection(config);
conn.changePassword("user@DOMAIN.DE", "share123", "share322");