使用 Kerberos 进行身份验证时出现登录错误

2024-01-01

我们面临着一个有趣的问题。用户使用 Kerberos 身份验证登录到应用程序。他们很少成功,但突然他们面临用户登录信息被锁定的情况,并且他们在屏幕上看到以下错误

Login error: com.ibm.security.krb5.KrbException, status code: 24
    message: Pre-authentication information was invalid
Stack Trace : 
javax.security.auth.login.FailedLoginException: Login error: com.ibm.security.krb5.KrbException, status code: 24
    message: Pre-authentication information was invalid
    at com.ibm.security.jgss.i18n.I18NException.throwFailedLoginException(I18NException.java:33)
    at com.ibm.security.auth.module.Krb5LoginModule.a(Krb5LoginModule.java:457)
    at com.ibm.security.auth.module.Krb5LoginModule.b(Krb5LoginModule.java:377)
    at com.ibm.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:200)
    at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
    at java.lang.reflect.Method.invoke(Method.java:620)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:781)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:215)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:706)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:704)
    at java.security.AccessController.doPrivileged(AccessController.java:452)

当我们重新启动 websphere 应用程序服务器时,所有内容都适用于相同的用户,直到他们再次遇到问题。我们尝试检查日志并更改 keytab 文件,但没有任何效果。有人面临这个问题吗?


它可能与时间 (NTP) 问题有关。

据我所知,Kerberos 预身份验证使用时间戳(生成一次性密码),因此我打赌 NTP 问题可能会导致此类问题。

另外,我认为,凭证未被销毁可能会导致此类问题(例如用户未正确注销)

检查所有服务器(运行应用程序的应用程序服务器以及 Kerberos KDC)是否与 NTP 服务器同步并且具有完全相同的时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Kerberos 进行身份验证时出现登录错误 的相关文章

随机推荐