我正在尝试使用Keycloak (WildFly 11)通过Kerberos配置登录,服务器安装在Windows2016上,并且有麻省理工学院的Kerberos作为Kerberos客户端,域是活动目录。
我已经从域ABC生成了一个密钥表文件,并且我能够使用Kerberos使用来自该域的用户登录(SPN是HTTP/url.com@ABC)。密钥表文件是使用域ABC中的用户生成的,但我从域XYZ (HTTP/url.com@XYZ)添加了另一个SPN。我有另一个域,XYZ,它与ABC有信任关系。来自该域的用户不能使用Kerberos登录,因为协商会给出这个错误"KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN“。
我猜问题是来自ABC的用户正在与ABC域协商票证,并且该域已经正确设置了SPN,而来自XYZ的用户正在与XYZ域协商票证,而该域没有配置SPN。
这是MIT Kerberos客户端配置:
[realms]
ABC = {
kdc = abcdom:88
admin_server = abcdom:749
default_domain = ABC
}
XYZ = {
kdc = xyzdom:88
admin_server = xyzdom:749
}
[domain_realm]
.url.com = ABC
url.com = ABC
.url.com = XYZ
url.com = XYZ我的问题是,我必须为每个域生成一个密钥表文件吗?如何将SPN添加到XYZ域名?域之间存在交叉信任。
发布于 2018-12-12 17:19:55
是的,您需要同时使用ABC和XYZ连接您的节点才能获得预期的结果。而登录用户必须提到u1@ABC或u2@XYZ,以便将其重定向到正确的域进行身份验证。你是否碰巧在使用SSSD?您应该在那里配置这些域,并允许它们登录。
https://stackoverflow.com/questions/53733984
复制相似问题