我寫了一個非常簡單的WFCSerice,它返回提供的Windows用戶名。下面是客戶端代碼:基本身份驗證似乎沒有安全標頭
public Form1()
{
ServiceReference1.Service1Client s1 = new ServiceReference1.Service1Client();
s1.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
string str = s1.ReturnWindowsUsername();
InitializeComponent();
}
我可以用看的HTTP頭的憑證Fidddler:
我試圖做同樣的事情基本身份驗證(訪問另一個網站支持基本認證的服務)。下面是客戶端代碼:
public Form1()
{
InitializeComponent();
ServiceReference1.Service1Client s1 = new ServiceReference1.Service1Client();
s1.ClientCredentials.UserName.UserName = "testuser";
s1.ClientCredentials.UserName.Password = "testpassword";
string str = s1.GetData(1);
}
下面是一個使用基本身份驗證時,從提琴手截圖:
爲什麼使用基本身份驗證時,有沒有在報頭。基本身份驗證服務似乎按預期工作。這裏是響應(有趣的是,似乎有兩個請求和兩個響應):
您是否已禁用匿名身份驗證,並且基本身份驗證已啓用在IIS中編輯?授權標頭僅在來自服務器的401挑戰之後被添加到請求*中。如果匿名允許請求,則不存在401,因此不需要標題。 – user1429080
@ user1429080,都啓用。 – w0051977
嘗試禁用匿名身份驗證。這有什麼不同嗎? – user1429080