我想从我的浏览器打开该网站 http://auth.another.com 并使用 kerberos 进行身份验证 AuthType:“协商”。我不想输入用户名和密码(AuthType:Basic)。
如果我使用 http://auth.example.local 相同的域(example.local)作为活动目录,则协商身份验证可以完美工作。如果我使用其他域名则不起作用。
我的 krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = EXAMPLE.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
EXAMPLE.LOCAL = {
kdc = svr-dc1.example.local
admin_server = svr-dc1.example.local
}
[domain_realm]
.example.local = EXAMPLE.LOCAL
example.local = EXAMPLE.LOCAL
DNS
auth.another.com
用户 Windows Active Directory 帐户
http/[email protected]
我尝试在 krb5.conf 中添加:
[domain_realm]
.another.com = EXAMPLE.LOCAL
another.com = EXAMPLE.LOCAL
我找到了解决方案。 我创建的 SPN 以 HTTPS/ 开头,因为我认为使用 HTTPS 协议需要 SPN 定义为 HTTPS,但不,它必须保持 HTTP。