我在对多个域进行 Kerberos 身份验证时遇到问题。我在 Windows Server 2012 R2 上使用 Alfresco 4.2f,并且我在两个域之间建立了林信任(功能级别 2008 r2)。
我的 kerberos 跨域设置类似于此处的 word 文档: https://community.alfresco.com/external-link.jspa?url=https%3A%2F%2Fissues.alfresco.com%2Fjira%2Fbrowse%2FMNT-10368
问题是,我可以使用主域中的用户正常登录,但不能使用第二个域中的用户正常登录。
我已经使用 wireshark 跟踪了 krb5 包,如果我尝试从第二个域登录,我会得到以下包:“KRB5 错误:KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN“。在这个包中,我可以看到来自第二个域的用户尝试使用来自主域的领域进行身份验证。
问题与这里完全相同(没有答案): https://community.alfresco.com/thread/176568-kerberos-with-multiple-domains-on-share-40d
这是我的 krb5.ini:
[libdefaults]
default_realm = DOMAIN1.LOC
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 2h
default_tkt_enctypes = rc4-hmac
default_tgs_enctypes = rc4-hmac
[realms]
DOMAIN1.LOC = {
kdc = dc01.domain1.loc:88
admin_server = dc01.domain1.loc:749
default_domain = domain1.loc
}
DOMAIN2.LOC = {
kdc = dc01.domain2.loc:88
admin_server = dc01.domain2.loc:749
default_domain = domain2.loc
}
[domain_realm]
dc01.domain1.loc = DOMAIN1.LOC
.dc01.domain1.loc = DOMAIN1.LOC
dc01.domain2.loc = DOMAIN2.LOC
.dc01.domain2.loc = DOMAIN2.LOC
这是我的 kerberos 子系统配置:
ntlm.authentication.sso.enabled=true
kerberos.authentication.realm=DOMAIN1.LOC
kerberos.authentication.sso.enabled=true
kerberos.authentication.user.configEntryName=Alfresco
kerberos.authentication.http.configEntryName=AlfrescoHTTP
kerberos.authentication.http.password=HighSecure
kerberos.authentication.authenticateCIFS=false
kerberos.authentication.browser.ticketLogons=true
希望有人能给我指明正确的方向。
谢谢。
测试版