【发布时间】:2011-04-24 10:27:23
【问题描述】:
我正在尝试通过 Android 应用查看需要身份验证的网页并收到以下消息:
----- Android webView 错误启动--------
“您无权使用您提供的凭据查看此目录或页面,因为您的 Web 浏览器正在发送 Web 服务器未配置为接受的 WWW.Authenticate 标头字段”
HTTP 错误 401.2 = 未经授权:访问因服务器配置而被拒绝。互联网信息服务 (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 中设置的用户名/密码。
但是,当使用上面的“代码片段”时,我得到上面的“错误”,使用相同的用户名和密码。
您能否提供建议或以其他方式引导我朝着“正确”的方向前进。
【问题讨论】:
-
据我记得您还必须提供“领域”,即第二组引号不应该为空。您能否尝试获取正确的领域并在 setHttpAuthUsernamePassword() 中使用它?
标签: android iis webview android-browser www-authenticate