从 Javascript 访问 HTTP 身份验证信息
是否可以从页面上的 Javascript 代码访问当前用于 HTTP 身份验证的用户名(以及可选的密码)?
Is it possible to access the username (and optionally password), currently used for HTTP authentication from Javascript code on the page?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
编辑:在这个答案中,我解释了如何通过ajax访问需要基本http身份验证的页面或服务。
如果您的意思是基本http认证,那么应该是可以的(我自己没尝试过)。
基本身份验证意味着您将 http 标头
Authorization
添加到您的请求中,并且XmlHttpRequest
对象支持使用方法setRequestHeader()
。http 标头如下所示:
身份验证令牌的构造如下:
Javascript 没有标准函数来编码为 Base64,但是 这个问题向您展示了如何做到这一点。
Edit: In this answer I explain how to access a page or service via ajax that requires basic http authentication.
If you mean basic http authentication, then it should be possible (I have never tried it myself).
Basic authentication means that you add the http header
Authorization
to your request, and theXmlHttpRequest
object supports adding custom headers with the methodsetRequestHeader()
.The http header looks like this:
where the authentication token is constructed like this:
Javascript doesn't have standard functions to encode to Base64, but this SO question shows you how to do that.