在不使用JAAS .conf文件的情况下在Kerberos JGSS中使用多个keytabs

时间:2013-03-13 15:08:44

标签: kerberos jaas jgss

我想在多个服务器线程中使用多个keytabs。我不想使用JAAS conf文件,所以我在LoginConfiguration类中实现了自己的登录配置。 KerberosLogin类中的getGSSCredentials()函数用于通过将keytab位置作为参数来获取凭据。

KerberosLogin - > http://ideone.com/vaip3H LoginConfiguration - > http://ideone.com/jDqlN0

当我只运行两个服务器线程时,第一个能够从其keytab获取凭据(两个服务器线程使用不同的服务主体),而第二个失败。以某种方式在LoginConfiguration中使用parms.put("refreshKrb5Config","true");解决了这个问题。

我无法理解为什么在没有刷新配置的情况下它不起作用,并且对于有几个这样的服务器线程的情况,它是安全的。有没有更好的方法来使用多个keytabs?

1 个答案:

答案 0 :(得分:-1)

这是由于java6处理登录配置的方式,它已在java7中修复。