2010-11-24 294 views
25

我想访问受密码保护的网站。它不使用基本身份验证(即使在Firefox中弹出相同的用户/传递框),因为响应标头为WWW-Authenticate: Negotiate身份验证问题与WWW身份验证:协商

我想通过发送正确的标题来自动登录过程。

在基本的,你会使用类似:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 

我会用什么来谈判?

+1

WWW-Authenticate:Negotiate标头意味着服务器可以使用NTLM或Kerberos(至少在Windows 7和Win 2008 Server之前的操作系统(当添加其他安全支持提供程序时)用于身份验证和加密。在这种NTLM的情况下,协商需要在安全会话建立之前交换多个消息(质询/响应),因此从头开始不会发送“正确的头”。 您可以在http://msdn.microsoft.com/en-us/library/aa378748%28VS.85%29.aspx(由Microsoft提供的SSP软件包)中找到有关您的问题的详细信息。 – 2010-11-24 12:10:01

回答

24

Web服务器正在提示您输入SPNEGO(简单和受保护的GSSAPI协商机制)令牌。

这是用于协商类型的认证的用于Web SSO(单点登录)一个微软发明:

  • 任NTLM
  • 或Kerberos。

参见:

+2

在我正在使用的其中一个应用程序中,ADFS服务器在具有值的响应中响应两个WWW-Authenticate标头字段 WWW-Authenticate:Negotiate WWW-Authenticate:NTLM 第一个带“Negotiate”意思?从提琴手怎么能弄清楚什么认证协议最终被使用? – 2014-06-12 10:34:06

28

这里把这些信息用于未来的读者的利益。

只能设置Authorization: Basic头,当你也有你的401挑战WWW-Authenticate: Basic头。

但是既然你有WWW-Authenticate: Negotiate这应该是基于Kerberos的认证的情况。