具有基本身份验证的href链接

时间:2012-11-09 11:40:56

标签: jquery html

  

可能重复:
  How to use Basic Auth and Jquery and Ajax

我有一个网站,我通过基本身份验证登录,工作正常。但是当我想下载一个.pdf文件(由服务器生成)时,我会弹出一个包含我需要登录的信息...:/。

我该怎样防止这种情况?或者如何通过链接发送基本身份验证信息?我看到了一些例子,例如:http://username:password@yourserver.com/filename.pdf。但这在IE中不起作用。

我怎样才能用html和/或jQuery来解决这个问题?

编辑: 我通过网站上的表单登录,这是有效的。但是当我想在登录时下载.pdf文件时,我会弹出窗口。

<a href="http://yourserver.com/yourpdffile.pdf">Report1.pdf</a>

2 个答案:

答案 0 :(得分:3)

基本身份验证是基于服务器的,HTML和jQuery在这里很无奈。

但是,在向此页面发送AJAX请求之前,您可以提供这些详细信息。这是一个例子。

$.ajax({
    'url': 'http://yourdomain.com/action/',
    'beforeSend': function(xhr) {
        xhr.setRequestHeader("Authorization", "Basic " + encodeBase64(username + ":" + password) 
    },
    //.....
});

答案 1 :(得分:0)

理论上,您编写的方式是可能的(并且应该得到浏览器和服务器的支持)。但是,那是

  1. 一个坏主意是因为安全性(每个人都可以看到用户名和密码!)和
  2. 正如您所写,它并未得到完全支持。
  3. 我不知道为什么它在IE中不起作用,但最好不要使用它。