拒绝访问以不同用户身份登录

时间:2009-07-14 10:14:46

标签: sharepoint moss

我们的ASP.NET应用程序页面作为功能部署到MOSS 2007服务器场中。

当用户登录该站点时,用户将被定向到默认页面。

在右上角有一个选项“以其他用户身份登录”。 如果用户选择此选项并输入另一个用户的凭据,则会显示“拒绝访问”消息。

此消息没有意义,因为所有用户都可以访问此默认页面。此外,如果用户现在转到地址栏并手动将URL更改为默认页面,则会加载页面。我可以在“拒绝访问”URL的源部分看到目标页面的编码URL是预期的默认页面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;
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这不会回答你的问题,但我建议你不要修改init.js文件。这既违反了良好的做法,也违反了微软的建议,你将失去他们的支持。此外,在应用Service Pack和/或hotfix时,它肯定会被覆盖。

如果您需要自定义OOB脚本文件的功能,请通过部署包含自定义脚本的自定义母版页来实现。