5

我在 Java 中使用 GSSAPI 以便使用 Kerberos 身份验证登录到 LDAP 服务器。我是 Kerberos 的新手,所以如果这是一个明显的问题,我很抱歉,但我在互联网上找不到足够清楚的东西。

我执行以下步骤:

  1. "java.security.auth.login.config"通过将系统属性设置为配置文件路径来定义登录配置。
  2. LoginContext.login()使用配置名称和自定义回调处理程序调用
  3. 如果登录成功,“假装是”主题(通过使用),并通过使用适当的环境变量Subject.doAs()创建一个新的连接到 LDAP 服务器。InitialLDAPContext

现在,我的问题是我不明白哪个步骤与哪个 kerberos 操作相关?说登录操作后我只有一个 TGT 是否正确?我什么时候可以得到服务特定的票?

谢谢, 迪克拉

4

1 回答 1

7

com.sun.security.auth.module.Krb5LoginModule 类是 Sun 针对 Kerberos 版本 5 协议的登录模块的实现。成功认证后,Ticket Granting Ticket (TGT) 存储在 Subject 的私有凭证集中,Kerberos 主体存储在 Subject 的主体集中。

(取自这里

这意味着LoginContext.login确实等于kinit在它们每个之后,我们都有一个 TGT。

稍后将获取并使用服务票证 - 根据 中执行的操作Subject.doAs()

于 2009-06-24T09:20:32.993 回答