我想将用户从一台服务器上的一个网页重定向到另一台服务器上的另一个网页。第一个应用程序使用Active Directory进行身份验证。第二个应用程序未使用Active Directory进行身份验证。但是,第二个应用程序允许在HTTP GET请求中使用基本身份验证来传递auth头。
我测试了发送Auth标头并且成功了:
function DoLogin()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if(xmlhttp.status==200)
window.location = "http://server:port/home";
else
document.getElementById("myDiv").innerHTML="Error in Login";
}
}
xmlhttp.open("GET","http://server:part/auth",true);
xmlhttp.setRequestHeader("Accept","application/rdf+xml");
xmlhttp.setRequestHeader("Authorization","Basic Z29082FtaWs6TDN0bWVpbkBPZmZp=45^");
xmlhttp.send();
}
但是,在此代码中,我发送了一组硬编码凭据。我无权访问创建此哈希所需的用户名和密码。我想知道是否还有获取凭据的哈希并传递它们?
答案 0 :(得分:2)
出于安全原因,我认为没有,也没有办法获得第一个站点(站点A)的Active Directory身份验证凭据。
您的选择
在这两种情况下,您都需要访问网站B.
如果您无法访问网站B,我看不到解决方案。