2

認証が必要な Android アプリから Web ページを表示しようとすると、次のメッセージが表示されます。

----- Android webView エラー開始 --------

「Web ブラウザーが WWW.Authenticate ヘッダー フィールドを送信しているため、指定した資格情報を使用してこのディレクトリまたはページを表示する権限がありません。Web サーバーが受け入れるように構成されていません」

HTTP エラー 401.2 = 権限がありません: サーバーの構成が原因でアクセスが拒否されました。インターネット インフォメーション サービス (IIS)。

----- Android webView エラー終了 --------

Android 側には次のようなものがあります: ------- code snip start -----

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.example.com/admin/default.aspx」に移動すると、ユーザー名とパスワードを求めるダイアログ ボックスが表示されます。入力すると、サイトにアクセスできます。Windowsで設定したユーザー名/パスワードです。

ただし、上記の「コードスニップ」を使用すると、同じユーザー名とパスワードを使用して上記の「エラー」が発生します。

アドバイスを提供するか、そうでなければ私を「正しい」方向に導くことができますか.

4

1 に答える 1

0

Http 401.2 は、NTLM チャレンジ応答ハンドシェイクの一部です。

問題は、Android が http 401.2 への応答方法を理解していないことです。

統合 Windows 認証の代わりに、SSL 経由の基本認証を試すことができます。

于 2011-04-27T19:10:28.650 に答える