首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以向客户表明支持SPNEGO,但NTLM不适用于HTTP请求?

我是否可以向客户表明支持SPNEGO,但NTLM不适用于HTTP请求?
EN

Stack Overflow用户
提问于 2009-01-28 23:53:21
回答 3查看 10.2K关注 0票数 7

微软使用的两个WWW认证添加项,我现在知道的是

  • NTLM
  • 谈判

如果从服务器发送协商,则将根据一组条件使用Kerberos。

  • 内联网区
  • 使用主机名而不是IP访问服务器
  • 在IE中启用集成Windows身份验证,在Firefox中信任主机
  • 服务器不是浏览器的本地服务器
  • 客户端的Kerberos系统通过域控制器进行身份验证

然后,将在服务器和客户端之间尝试Kerberos,如果不满足上面的内容,那么将尝试NTLM。

我的问题是,服务器是否有办法表明不应该发送NTLM?我目前通过跟踪会话中的请求来处理这个问题,如果接收到NTLM消息,它将禁用Kerberos和WWW-在会话的剩余时间内进行身份验证。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-11 03:49:08

初始WWW-Authenticate标头仅指定negotiate。它不能说更多的东西,比如“没有NTLM”。

我认为可以响应第一个身份验证:由客户端用401 unauthorized发送的{401 unauthorized NTLMSSP}头和第二个Negotiate头,后者可以包括响应令牌,可能包括只指定Kerberos的SupportedMechanisms

但我怀疑这只会给你带来"unauthorized",因为它一开始就回到了NTLM。

票数 3
EN

Stack Overflow用户

发布于 2009-11-04 16:28:40

是的你可以。看看SPNEGO HTTP过滤器项目的参考文档

票数 3
EN

Stack Overflow用户

发布于 2009-10-23 12:53:31

你可以这么做,(至少在理论上)是的。IE可能会做一些非常奇怪的事情,比如在没有适当的SPNEGO ASN.1封装的情况下发送Kerberos令牌,但是,这是一个不同的主题。在符合标准的SPNEGO (https://www.rfc-editor.org/rfc/rfc4178#section-4.1)实现中,您可以这样做。

如果可以将NegTokenInit mechTypes成员操作为只包含Kerberos,则会迫使客户端发送Kerberos或无法进行身份验证。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/489950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档