2010-10-12 278 views
2

我試圖查看網頁,弗朗一個Android應用程序,需要進行身份驗證,並得到以下信息:驗證錯誤

-----安卓webView的錯誤開始--------

「您沒有權限使用您提供的,因爲你的Web瀏覽器發送,在沒有Web服務器配置爲接受WWW.Authenticate頭字段的憑據查看該目錄或網頁」

HTTP錯誤401.2 =未經授權:由於服務器配置,訪問被拒絕。 Internet信息服務(IIS)。

----- Android的web視圖錯誤結束--------

在Android方面我有以下幾點: -------代碼剪斷開始-----

public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main);

// web view 
    webView = (WebView) findViewById(R.id.web_view);  
    webView.getSettings().setJavaScriptEnabled(true);  
    webView.setHttpAuthUsernamePassword("123.example.com", "", "username", "password"); 
    // webView.setHttpAuthUsernamePassword("123.example.com/admin.default.aspx", "", "username", "password"); 

    webView.loadUrl("http://123.example.com/admin/default.aspx");  

}

-------代碼剪斷端--------

在IIS 6.0側

在 「認證方法」 對話框方框 取消選中:「啓用匿名訪問」 檢查:「集成Windows身份驗證」

如果我使用「常規瀏覽器」,如果導航到「http://123.exa mple.com/admin/default.aspx「我得到一個對話框詢問用戶名和密碼。 一旦進入我有權訪問該網站。這是我在Windows中設置的用戶名/密碼。

但是,當使用上面的「代碼片段」我得到上述「錯誤」,使用相同的用戶名和密碼。

你能否提供建議或以其他方式引導我向「正確」方向發展?

+0

據我記得你也必須提供'境界',那就是第二組引號不應該是空的。您可以嘗試獲取正確的領域並在setHttpAuthUsernamePassword()中使用它嗎? – methode 2010-10-12 17:15:18

回答

0

Http 401.2是NTLM Challenge響應握手的一部分。

問題是,Android不知道如何響應HTTP 401.2。

您可以嘗試通過SSL進行基本身份驗證,而不是使用集成Windows身份驗證。