如何获得Kerberos TGS并将其用于Java中的GUI应用程序?

问题描述:

我正在尝试使用Keberos协议和Java中的GSS-API来创建应用程序,并且在调用doAsPrivileged方法之前,我已经进行了身份验证和上下文的建立。 在这种方法中,我得到相互验证发送一个简单的令牌从客户端到服务器,但之后,我想做一些其他的事情。如何获得Kerberos TGS并将其用于Java中的GUI应用程序?

我想打开一个带有产品表的新窗口,让客户选择它们并购买一些东西,并将其连接到服务器中的数据库。

我的问题是关于如何在其他框架中使用此上下文,这些框架与原始doAsPrivileged操作类不同。

我得到一个错误GSSException:没有提供有效的凭据(机制级别:无法找到任何Kerberos tgt),我不知道如何找到这个TGT发送它不止一次到服务器。

谢谢。

我碰到类似的issue
您的代码失败,因为Java尝试使用默认登录配置名称的GSSAPI。这是com.sun.security.jgss.initiate。要为其他人或其他登录名称执行GSS呼叫,您必须使用LoginContext,获取该主题,然后执行doAs。据我所知,如果不坚持默认设置,涉及票务交换的每个操作都必须在PrivilegedAction中完成。这就是为什么我们的东西不及格:-(