您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

BadCredentialsException:Kerberos验证未成功

BadCredentialsException:Kerberos验证未成功

我发现了问题。Spring-security-kerbos需要密钥表文件的路径为“ Resource String”(详细信息:http://static.springsource.org/spring/docs/3.0.x/reference/resources.html )。当我将路径设置为“file:/home/xxxxx/conf/krb5/krb5.keytab”时,应用程序运行,但我认为它以后无法打开文件,并且Kerberos无法加载任何密钥。不幸的是,来自Kerberos的日志还不清楚。

当我将路径设置为“ /home/xxxxx/conf/krb5/krb5.keytab”时,出现以下异常

Caused by: java.io.FileNotFoundException: ServletContext resource [/home/xxxxx/conf/krb5/krb5.keytab] cannot be resolved to URL because it does not exist

此问题的解决方案可以是文件SunJaasKerberosTicketValidator.java中的修复程序:

private String keyTabLocation;

LoginConfig loginConfig = new LoginConfig(keyTabLocation, servicePrincipal, debug);

代替:

private Resource keyTabLocation;

LoginConfig loginConfig = new LoginConfig(keyTabLocation.getURL().toExternalForm(), servicePrincipal, debug);

通过此修复程序,一切正常。我们可以将文件路径设置为“ /home/xxxxx/conf/krb5/krb5.keytab”格式

如果有人知道更多详细信息,请在此处写下。

其他 2022/1/1 18:14:16 有366人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶