Приложение MVC5 перенаправляет на login.aspx при вызове защищенных действий

Я создал новое веб-приложение ASP.NET MVC 5.1 с VS 2013. В моем локальном IIS Express все работает нормально. Один контроллер снабжен атрибутом авторизации. Когда я открываю защищенное действие в этом контроллере без входа в систему до этого, я был правильно перенаправлен на страницу входа (/ Account / Login). Но в моем продуктивном IIS 7 (Windows Server 2008) сервер перенаправляет меня на login.aspx.

Может ли это произойти, когда я использую промежуточное ПО OWIN, а старый IIS 7.0 не может с ним работать? В каталоге bin находятся все библиотеки OWIN из моего проекта.

Существует большая проблема с процессом перенаправления, когда я использую внешнего поставщика входа в систему, такого как Google. Та же процедура, что и выше. :-(

Есть ли у кого-нибудь мне подсказки?

Спасибо. Андреас


person katarch    schedule 17.03.2014    source источник
comment
Вы установили login.aspx в качестве начальной страницы?   -  person Dumisani    schedule 17.03.2014
comment
Ты так прав. В настройках FormsAuthentication был неверный путь входа. Я думаю, это вызвано немного другим файлом web.config в новом шаблоне. Нет настроек для авторизации форм. После замены login.aspx на ~ / Account / Login все работает очень хорошо. Спасибо.   -  person katarch    schedule 17.03.2014
comment
Не могли бы вы ответить на вопрос? С поправкой код поставить?   -  person Eric Bishard    schedule 23.10.2014


Ответы (2)


У меня такая же настройка и такая же проблема: вместо перенаправления на / account / login или любой другой путь входа, который вы настроили в CookieAuthenticationOptions, он всегда перенаправляется на /login.aspx.

Одно из решений: после публикации КАЖДЫЙ РАЗ вам нужно войти в IIS, выбрать проект, нажать «Проверка подлинности» и отключить проверку подлинности с помощью формы по умолчанию.

Если вы выберете аутентификацию с помощью формы и нажмете Edit, вы увидите, что маршрут по умолчанию /login.aspx присутствует.

Кстати, добавление этих двух AppSettings не исправит:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
person David Liang    schedule 17.02.2016

Простое решение: перейдите в IIS - ›выберите свой проект -› Дважды нажмите на аутентификацию - ›выберите аутентификацию с помощью форм -› измените и установите URL-адрес перенаправления для входа по умолчанию. Здесь жестко запрограммирован файл login.aspx. Это настраивается и изменяется в зависимости от маршрутов проекта.

person dead_webdev    schedule 06.09.2020