如何显示 HTTP 401 基本身份验证对话框

Posted

技术标签:

【中文标题】如何显示 HTTP 401 基本身份验证对话框【英文标题】:How to display HTTP 401 basic authentication dialog 【发布时间】:2013-02-17 02:39:25 【问题描述】:

我是网络开发的新手。我有使用 HTTPServer 托管一些网页的 android 应用程序。我正在使用 Netty 对请求/响应进行解码/编码。现在,我想在有人导航到我的网页时显示基本身份验证对话框。像这样:

我可以得到一些指示吗?它是 HTTP 内置功能,任何 RFC 吗?我需要写一些java脚本吗?任何帮助都会很棒。

【问题讨论】:

【参考方案1】:

当客户端请求您想要对其进行身份验证的资源时,您只需发送适当的标头即可。

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Restricted Area"

然后,客户端可以在发送username:password 格式的base64 编码标头时重试请求。

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

另请参阅:http://en.wikipedia.org/wiki/Basic_access_authentication

【讨论】:

谢谢布拉德。这个对话框会自动显示吗? @ArjunPatel,由客户选择如何处理身份验证。大多数客户端会显示一个对话框。 @Brad Chrome 不再了吗? @ArturasM Chrome 仍然进行基本身份验证。 @Brad 在您更新后可能不会。我的过去曾经做过......现在更新......

以上是关于如何显示 HTTP 401 基本身份验证对话框的主要内容,如果未能解决你的问题,请参考以下文章

使用 AngularJS 拦截器阻止 HTTP 基本身份验证对话框

不使用 HTTP 基本身份验证时 HTTP 401 未经授权?

了解 401 的基本身份验证

在没有 IIS 管理器的情况下禁用基本身份验证

android - EWS 2010 中的基本身份验证错误“HTTP/1.1 401 Unauthorized”

没有用户名的 HTTP 身份验证