带有基本身份验证标头的http重定向

时间:2017-04-26 19:31:23

标签: javascript ajax apache http

我希望设置一个登录页面,将流量重定向到同一服务器上的不同URI。事实证明这有点困难,谷歌搜索的时间并没有太多。

我目前有一个我设置的Web应用程序,它在Apache中使用.htpasswd文件。我正在寻找一个显示登录表单的html登录页面。单击按钮,它应添加base64编码的授权标头并将页面重定向到我的Web应用程序。这样做会绕过可怕的401面板,请求登录详细信息。

我目前在/ login目录中有以下index.html

<!DOCTYPE html>
<html>
<head>
<title>My Title</title>
<link href="style.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function Login(form) {
var username = form.username.value;
var password = form.password.value; 
var server = form.server.value;
if (username && password && server) {
var htsite = "http://" + username + ":" + password + "@" + server;
window.location = htsite;
}
else {
alert("Please enter your username and password.");
   }
}
//  End -->
</script>
</head>
<body>
<form name=login>
<input type="hidden" name="server" value="myserver.co.uk/shell">
Username:
<input type=text name=username size=20>
<br><br>
Password:
<input type=password name=password size=20>
<input type=button value="Login!" onClick="Login(this.form)" name="button">
</form>
</body>
</html>

这是在尝试重定向到http://username:password@myserver.co.uk/shell

URL中的这种基本身份验证形式似乎不再适用于大多数浏览器。

是否有任何方法可以在HTTP请求重定向中创建和添加请求标头?

如果您对我可以使用的方法有任何建议,那将是非常棒的。如果它需要我安装任何额外的组件,那么我愿意沿着这条路走下去,那么我很乐意给它一个机会!

一如既往地谢谢。

0 个答案:

没有答案