#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-файлы, вы добавили развертываемые зависимости или какие-либо недавние ссылки?
Ответ №3:
Это известная проблема в MVC3. Проблема возникает из WebMatrix.Data.dll
-за того, что и WebMatrix.DataWeb.dll
были добавлены в коллекцию развертываемых сборок.
Чтобы устранить проблему, вам необходимо добавить следующее в свой Web.config
(корневой уровень приложения):
<appSettings>
...
<add key="loginUrl" value="~/Account/SignIn" />
</appSettings>