微软使用的两个WWW认证添加项,我现在知道的是
如果从服务器发送协商,则将根据一组条件使用Kerberos。
然后,将在服务器和客户端之间尝试Kerberos,如果不满足上面的内容,那么将尝试NTLM。
我的问题是,服务器是否有办法表明不应该发送NTLM?我目前通过跟踪会话中的请求来处理这个问题,如果接收到NTLM消息,它将禁用Kerberos和WWW-在会话的剩余时间内进行身份验证。
发布于 2009-06-11 03:49:08
初始WWW-Authenticate标头仅指定negotiate。它不能说更多的东西,比如“没有NTLM”。
我认为可以响应第一个身份验证:由客户端用401 unauthorized发送的{401 unauthorized NTLMSSP}头和第二个Negotiate头,后者可以包括响应令牌,可能包括只指定Kerberos的SupportedMechanisms。
但我怀疑这只会给你带来"unauthorized",因为它一开始就回到了NTLM。
发布于 2009-11-04 16:28:40
是的你可以。看看SPNEGO HTTP过滤器项目的参考文档。
发布于 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或无法进行身份验证。
https://stackoverflow.com/questions/489950
复制相似问题