GSSAPI中的javax.naming.AuthenticationException

我正在尝试使用JAVA GSSAPI执行NTLM绑定.

我收到此错误:

javax.naming.AuthenticationException: GSSAPI [Root exception is javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Invalid option setting in ticket request. (101))]]

我认为(不确定)过去是否奏效.为了解决其他问题,我尝试了“kinit”.从那时起停止工作.我甚至删除了缓存文件(在Windows中找不到kclear),而且,我还有这个问题.

我该如何解决?

最佳答案 它可以帮助你从
Troubleshooting

原因:Kerberos要求KDC和客户端上的时间松散同步. (默认值在5分钟之内.)如果不是这样,您将收到此错误.

解决方案:同步时钟(或由系统管理员执行此操作).

要么

原因:如果未获取有效的Kerberos凭据,则可能会发生这种情况.特别是,如果您希望底层机制获取凭据但是您忘记通过将javax.security.auth.useSubjectCredsOnly系统属性值设置为false(例如,通过-Djavax.security.auth.useSubjectCredsOnly = false in你的执行命令).

解决方案:如果希望底层机制获取凭据,而不是应用程序或包装程序(例如某些教程使用的登录实用程序),请确保将javax.security.auth.useSubjectCredsOnly系统属性值设置为false.使用JAAS执行身份验证.

点赞