Java中的Kerberos身份验证-does;“登录”;java中的操作等于;基尼特;?

Java中的Kerberos身份验证-does;“登录”;java中的操作等于;基尼特;?,java,kerberos,Java,Kerberos,我在Java中使用GSSAPI,以便使用Kerberos身份验证登录到LDAP服务器。我是Kerberos的新手,如果这是一个明显的问题,我很抱歉,但我在互联网上找不到足够清晰的内容 我执行以下步骤: 通过将系统属性“java.security.auth.Login.config”设置为配置文件路径来定义登录配置 使用配置名称和自定义回调处理程序调用LoginContext.login() 如果登录成功,“假装”是主题(通过使用subject.doAs()),并通过使用适当的环境变量创建新的In

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

我执行以下步骤:

  • 通过将系统属性“java.security.auth.Login.config”设置为配置文件路径来定义登录配置
  • 使用配置名称和自定义回调处理程序调用
    LoginContext.login()
  • 如果登录成功,“假装”是主题(通过使用
    subject.doAs()
    ),并通过使用适当的环境变量创建新的
    InitialLDAPContext
    连接到LDAP服务器
  • 现在,我的问题是我不明白哪一步与哪一个kerberos操作相关? 登录操作后,我只有一个TGT,这样说对吗?我什么时候可以拿到服务票

    谢谢, 迪卡拉

    类com.sun.security.auth.module.Krb5LoginModule是sun为Kerberos版本5协议实现的登录模块。身份验证成功后,票据授予票据(TGT)存储在主体的私有凭证集中,Kerberos主体存储在主体的主体集中

    (摘自)

    这意味着
    LoginContext.login
    实际上等于
    kinit
    ,因为在它们之后,我们有一个TGT

    服务票证将根据
    Subject.doAs()
    中执行的操作在以后获取和使用