java - 使用 tc 服务器设置 kerberos 的问题

标签 java tomcat kerberos tcserver

红帽 Linux 上的 tc 服务器 我一直在尝试遵循这个例子: http://tomcat.apache.org/tomcat-7.0-doc/windows-auth-howto.html AD 服务帐户设置 执行 setspn 和 ktpass 命令创建 spn 和 keytab

如果我在 ktpass 命令中使用 mapuser 选项并允许更改 userprincipalname,它将适用于那个 spn。我无法将其配置为能够为一个 AD 服务 ID 使用多个 spns。 AD 帐户已设置为委托(delegate)。

jaas.conf 片段

com.sun.security.jgss.krb5.initiate {
        com.sun.security.auth.module.Krb5LoginModule required
        useTicketCache=false
        useKeyTab=true
        keyTab="<path>/test5a.keytab"
        principal="<fqdn>"
        storeKey=true
        doNotPrompt=true;
};

com.sun.security.jgss.krb5.accept {
        com.sun.security.auth.module.Krb5LoginModule required
        useTicketCache=false
        useKeyTab=true
        keyTab="<path>/test5a.keytab"
        principal="HTTP/<fqdn>"
        storeKey=true
        doNotPrompt=true;
};

如果我将 upn 更改为除我正在使用的 spn 之外的任何内容,它会失败,或者无法在 kerberos 数据库中找到用户。我缺少什么才能将一个 AD 服务帐户用于多个 spns?

最佳答案

SPN 也链接到 key 表,因此您需要为每个 SPN 生成一个新的 key 表文件。

关于java - 使用 tc 服务器设置 kerberos 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796301/

相关文章:

java - gss 名称在 java 中因爱尔兰 fada 字符而损坏

java - 如何模拟 KerberosTicket 实例?

hadoop - 安全模式下的 Oozie 无效用户

java - 如何通过gradle在特定文件夹中运行jUnit测试?

java - 使链表唯一

Java泛型以避免ClassCastException

tomcat - java.security.cert.CertificateException : No subject alternative names present

java - 是什么导致了 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?

spring - IntelliJ 需要将 tomcat/conf 目录复制到项目目录

javascript - IE动态图片缓存问题?