Asp.Net Ошибка перенаправления страницы входа в систему MVC 3

#asp.net-mvc #asp.net-mvc-3 #redirect #login

#asp.net-mvc #asp.net-mvc-3 #перенаправление #аутентификация

Вопрос:

У меня очень странная ситуация. У меня есть ASP.Net Приложение MVC 3, которое внезапно перестало работать должным образом. Когда кто-либо переходит на защищенный URL-адрес (скажем, / Hidden / Index), он перенаправляется на страницу входа в систему (/ Account / Login ), единственная проблема, с которой я сталкиваюсь, заключается в том, что моя страница входа в систему / Session/ LogOn .

Я правильно настроил файл Web.Config. Я использовал ASP.Net MVC начиная с версии 1 и никогда не сталкивался с этой проблемой.

Мой файл Web.Config содержит:

 <authentication mode="Forms">
        <forms loginUrl="~/Session/LogOn" timeout="2880" />
</authentication>
  

И у меня нет /Account/Login нигде в моем решении. Если бы кто-нибудь мог мне помочь, я был бы очень признателен.

Спасибо, Тим

Ответ №1:

Где-то все еще должен быть код, указывающий на это действие, если вы создали свое приложение из приложения mvc 3 по умолчанию в Visual Studio, проверьте представление входа в систему в папке решения с именем «общий доступ» в разделе «представления».

Комментарии:

1. Я подумал то же самое, но мой частичный просмотр входа в систему указывает на правильное местоположение. Что меня смущает, так это тот факт, что я могу отлаживать приложение, и поскольку первый контроллер украшен [Авторизовать], он перенаправляет меня в /Account/Login . Я даже не показываю страницу первой. Итак, я в замешательстве. Кто-нибудь знает, существует ли маршрут по умолчанию для аннотации данных [Авторизовать]? И если да, то где она хранится? Спасибо.

2. Единственный способ воспроизвести это, если у меня есть приложение MVC3 по умолчанию, созданное в VS2010, и изменить только web.config в папке views soln, а НЕ web.config в корне приложения. Прошу прощения, если это констатирует очевидное, но вы изменили настройку авторизации в обоих конфигурациях?

Ответ №2:

Это должно вам помочь, в вашем каталоге bin могут быть конфликтующие DLL-файлы, вы добавили развертываемые зависимости или какие-либо недавние ссылки?

Помогло мне! http://nickstips.wordpress.com/2011/07/27/asp-net-mvc-unauthenticated-user-always-redirected-to-accountlogon-despite-custom-sign-in-url/

Ответ №3:

Это известная проблема в MVC3. Проблема возникает из WebMatrix.Data.dll -за того, что и WebMatrix.DataWeb.dll были добавлены в коллекцию развертываемых сборок.

Чтобы устранить проблему, вам необходимо добавить следующее в свой Web.config (корневой уровень приложения):

 <appSettings>
  ...
  <add key="loginUrl" value="~/Account/SignIn" />
</appSettings>