2010-11-24 292 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的認證的情況。