8

我有一个只能通过http基本身份验证访问的网页。如何在JavaScript页面中找出基本的auth用户名。即当有人访问它时(登录后),我想弹出一个窗口,显示“您好,您当前以用户$ USERNAME登录”从JavaScript获取HTTP基本认证用户名?

回答

10

纯粹来自JavaScript是不可能的。您必须让服务器端脚本从请求中提取用户名,并将其插入到生成的页面代码中以供脚本使用。 (如<script type="text/javascript">var username=(此处插入JSON编码字符串);</script>

1

javascript:window.alert(document.location)似乎给了用户名(但没有密码的网址)。这可能不是在其他浏览器中实现。

+0

的用户名是我的全部需要,而不是密码,但我敢肯定,我的大部分用户不会在他们的地址栏中输入“https://[email protected]”,他们只会将其输入到浏览器弹出框中。方法在这些情况下仍然有效吗? – Rory 2010-08-11 16:17:06

+0

试试看,我认为LiveScript/JavaScript/ECMAScript没有太多的保证,许多浏览器都没有实现所有的相关标准,所以没有简单的方法来判断这是否是“安全“,而无需在您打算支持的所有浏览器上进行测试。 – 2010-08-12 16:39:49