如何在两个Java应用程序中使用Kerberos票证?

时间:2012-11-13 15:43:30

标签: authentication kerberos jaas

我希望我能在这里说清楚:
让用户使用Kerberos对应用程序A进行身份验证(代码使用JAAS Krb5LoginModule)。
客户端现在也需要对应用程序B进行身份验证。
Kerberos票证仍然有效。
我如何使用我确保流向应用程序B的auhtentication流程不会尝试创建新的Kerberos票证?
当我使用JAAS时,我执行: loginContext.login
(我当然将一个回调处理程序传递给提供者凭据以及用作配置索引的名称,请参阅此处的javadoc),当然还有应用程序A和应用程序B作为不同的进程运行,因此loginContext对象不会在它们之间共享。
如何在不同进程中运行的两个应用程序之间重用有效的kerberos票证,但用户使用相同的凭据(同一用户@领域)
感谢

1 个答案:

答案 0 :(得分:0)

如果两个应用程序位于同一台物理/逻辑计算机上,共享相同的SPN,并且两者都在计算机帐户下运行,是的,您可以重复使用该服务票证,直到它到期为止。但这些实际上是由浏览器处理的。无论如何你永远不会搞砸他们。您的SPNEGO接受者为您做了一切。