Доступ запрещен при входе в систему под другим пользователем - PullRequest
1 голос
/ 14 июля 2009

Наши страницы приложений 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 Ответ

1 голос
/ 14 июля 2009

Это не ответит на ваш вопрос, но я бы посоветовал вам не изменять файл init.js. Это как против хорошей практики, так и против рекомендаций Microsoft, вы потеряете поддержку от них. Более того, оно наверняка будет перезаписано при применении пакетов обновления и / или оперативных исправлений.

Если вам необходимо настроить функциональность файлов сценариев OOB, сделайте это путем развертывания настраиваемой главной страницы, которая вместо этого содержит ваши собственные сценарии.

...