我们的网络中有两个不同的应用程序,它们都使用 Kerberos 对用户进行身份验证。其中一个在最大时会出现问题。票证有效期已过。
应用程序 x 的成功请求:
AS-REQ =>
<= KRB5KDC_ERR_PREAUTH_REQUIRED
AS-REQ =>
<= AS-REP
应用程序 y 的请求不成功:
AS-REQ =>
<= KRB5KDC_ERR_PREAUTH_REQUIRED
AS-REQ =>
<= KRB5KDC_ERR_PREAUTH_FAILED
我们可以在网络捕获中看到的唯一区别是 app x 使用 NT-PRINCIPAL,而 app y 使用 NT-ENTERPRISE。App y 在 Java 1.6 上运行,因此不应出现早期版本的 preauth 错误。
任何想法都受到高度赞赏。