在我的 krb5.conf 文件中,出于测试目的,我已将票证有效期配置为 10 分钟 (ticket_lifetime = 10m
)。当我从命令行 kinit
然后运行 klist
时,我看到票证的生命周期为 10 分钟。但是,当我从 Java 代码登录时,krb5.conf 文件中的票证生命周期似乎被忽略,并使用默认生命周期 1 天。我已设置 -Dsun.security.krb5.debug=true
并且可以看到我的自定义 krb5.conf 文件正在加载,但 ticket_lifetime
似乎并未得到遵守。这是 Java Kerberos 实现的限制,还是有其他方法可以从 Java 设置票证生存期?
最佳答案
对于任何当前发布的 Java 版本来说,这是不可能的。 Java 9 将遵循 Ticket_lifetime 和 renew_lifetime 配置。此 OpenJDK 票证包含更多信息:https://bugs.openjdk.java.net/browse/JDK-8044500
关于java - 如何从 Java 设置 Kerberos 票证生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38555244/