授权错误

时间:2010-10-12 16:34:35

标签: android iis webview android-browser www-authenticate

我正在尝试查看需要身份验证并获取以下消息的Android应用程序的网页:

----- Android webView错误启动--------

“您无权使用您提供的凭据查看此目录或页面,因为您的Web浏览器正在发送未配置为接受的Web服务器的WWW.Authenticate标头字段”

HTTP错误401.2 =未经授权:由于服务器配置,访问被拒绝。 Internet信息服务(IIS)。

----- Android webView错误结束--------

在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.example.com/admin/default.aspx”,则会出现一个询问用户名和密码的对话框。 输入后,我可以访问该网站。它是我在Windows中设置的用户名/密码。

但是当使用上面的“代码片段”时,我会使用相同的用户名和密码获得上述“错误”。

您能否提出建议或以其他方式引导我走向“正确”的方向。

1 个答案:

答案 0 :(得分:0)

Http 401.2是NTLM Challenge响应握手的一部分。

问题是Android不了解如何回应http 401.2。

您可以尝试通过SSL进行基本身份验证,而不是集成Windows身份验证。