Request.ServerVariables ["LOGON_USER"] или Current.User.Identity.Name Пусто - PullRequest
0 голосов
/ 26 октября 2011

Я использую проверку подлинности с помощью форм, для пула приложений установлен классический режим, я включил проверку подлинности с помощью форм и анонимный доступ, а также отключил проверку подлинности Windows.Я все еще не могу прочитать LOGON_USER или IPrincipal.Identity.Name.

В IE9 я установил аутентификацию пользователя, чтобы он проходил через автоматический вход в систему с текущими именем пользователя и паролем.

Пока я не могу получить текущего зарегистрированного пользователя.

Чего не хватает?это серьезное изменение в IIS7.5 или IE9?

Примечание. Я не могу просто включить проверку подлинности Windows, поскольку этот сайт используется как внутри, так и снаружи.Кроме того, клиент хочет, чтобы его перенаправили на страницу входа в систему и не вызывали запрос пользователя / пароля.

1 Ответ

0 голосов
/ 31 октября 2011

При переключении на классический он возвращал статус 403. Не удалось обработать запрос.

В конце концов я изменил таблицу маршрутов, чтобы использовать расширения следующим образом:

        routes.MapRoute(
            "Default", // Route name
            "{controller}.mvc/{action}/", // URL with parameters
            new { controller = "Login", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

        routes.MapRoute("Root", string.Empty, new { controller = "Login", action = "Index"});

Затем я добавил новое сопоставление с подстановочными знаками для обработки расширения * .mvc.

Также убедитесь, что вы используете правильную идентификационную информацию пула приложений в моем решении. Я использую учетную запись NetworkService, и я также предоставил учетной записи NetworkService полные разрешения для веб-папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...