我们在 IIS 设置下的两个不同服务器中启用了 Kerberos 身份验证。但是在其中一台服务器中生成的 Kerberos 令牌始终以“TlR”开头。您能帮我解决这个问题吗?
开发服务器:
Request Headers: Authorization Negotiate oXcwdaADCxxxxxxxxxxxxxxx
Response Headers: WWW-Authenticate Negotiate oRswGaADCxxxxxxxxxxx
QA 服务器:
Request Headers: Authorization Negotiate TlRMxxxxxxxxxxx
Response Headers: WWW-Authenticate NTLM,Negotiate
您是否在客户端浏览器上激活了 kerberos?
Firefox
about/config
并找到 network.negotiate-auth.trusted-uris
键,插入或以逗号分隔追加 mydomain.com
,以便 Firefox 启动 kerberos sso 身份验证。
IE 浏览器曾经有一个选项
Tools/Internet Options/Security/Local Intranet/Sites/Advanced
,Chrome 使用相同的注册表值。我没有在 Edge 浏览器上测试过。
Login request hedaer token prefix:
Negotiate TlR* = SPNEGO over NTLM (may not be the one you want)
Negotiate YII* = SPNEGO over Kerberos (this is what you expect to see?)
您还需要为客户端使用单独的计算机,很可能
kerberos YII*
令牌无法在同一台服务器+客户端计算机上工作。