1
我们的ASP.NET应用程序页面作为功能部署到MOSS 2007服务器场中。访问被拒绝以不同用户身份登录
当用户登录到该网站时,用户被定向到默认页面。
在右上角有一个选项“以其他用户身份登录”。 如果用户选择此选项并输入另一个用户的凭证,则显示“拒绝访问”消息。
此消息没有意义,因为所有用户都可以访问此默认页面。此外,如果用户现在转到地址栏并手动将URL更改为默认页面,则会加载该页面。我可以在“拒绝访问”网址的源代码部分看到,目标网页的编码网址是预期的默认网页网址。
此前,我更改了INIT.JS文件,以便在从非默认页面进行登录更改的情况下重定向用户。
function LoginAsAnother(url, bUseSource)
{
document.cookie="loginAsDifferentAttemptCount=0";
if (bUseSource=="1")
{
GoToPage(url);
}
else
{
var ch=url.indexOf("?") >=0 ? "&" : "?";
//url+=ch+"Source="+escapeProperly(window.location.href);
url+=ch+"Source="+escapeProperly(getSspLocation(window.location.href));
STSNavigate(url);
}
}
原始行被注释掉。
功能getSspLocation
只是我写的从任何其他URL获取默认页面URL的函数。
function getSspLocation(url) {
var parts = url.split('/');
var result = "";
for (var i = 0; i < parts.length; ++i) {
result += parts[i] + "/";
if (parts[i].toLowerCase() == "ssp")
return result + "default.aspx";
}
return url;
}
任何想法?
与问题无关,但您如何将自定义脚本挂接到LoginAsAnother函数? – 2009-07-14 12:04:30