java中用于更改Kerberos密码的示例

时间:2015-09-07 13:27:46

标签: java authentication kerberos

我有一个Web应用程序,用户可以通过Active Directory登录。这是使用Spring LDAP和CAS实现的。

问题是密码到期时 - 无法通过LDAP更改 - 我需要使用超级用户,这不是一个选项。

所以...我正在寻找更改Kerberos密码的代码示例,它必须在服务器端执行(不在Windows主机上)。它可以使用一些lib - 它不必仅限于JDK。

1 个答案:

答案 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");