我目前知道的微软使用的两个 WWW-Authenticate 添加是
- NTLM
- 谈判
如果从服务器发送 Negotiate,将根据一组条件使用 Kerberos
- 内网区
- 使用主机名而不是 IP 访问服务器
- 已启用 IE 中的集成 Windows 身份验证,主机在 Firefox 中受信任
- 服务器不是浏览器本地的
- 客户端的 Kerberos 系统通过域控制器的身份验证
然后将在服务器和客户端之间尝试 Kerberos,如果不满足上述条件,则将尝试 NTLM。
我的问题是,服务器是否有某种方法可以指示不应发送 NTLM?我目前通过跟踪会话中的请求来处理这个问题,如果收到 NTLM 消息,它会在会话的剩余时间内禁用 Kerberos 和 WWW-Authenticate。