ASP.NET MVC аутентифицированный пользователь перенаправлен на неверный маршрут после входа в систему - PullRequest
1 голос
/ 24 апреля 2009

Я создаю приложение ASP.NET MVC с использованием версии 1.0 с использованием Visual Web Developer Express (временно). Я использую SqlMembership Provider и формирую аутентификацию для обеспечения безопасности сайта. Безопасность моего сайта требует, чтобы пользователь входил в систему, прежде чем что-либо видеть - нет страниц анонимного пользователя, кроме самой страницы входа.

Я изменил изменил маршруты в моем global.asax.cs следующим образом:

    routes.MapRoute(
        "Default",                                              // Route name
        "{controller}/{action}/{id}",                           // URL with parameters
        new { controller = "Patients", action = "Search", id = "" }  // Parameter defaults
    );

Я опубликовал приложение на своем локальном IIS (Windows XP) и попал в виртуальный каталог следующим образом: http://mymachinename/App/. Я направлен на страницу входа в систему (учетная запись / логин), как и ожидалось. Однако после успешного входа в систему с использованием новой учетной записи пользователя я перенаправлен на главную / индекс, а не на пациентов / поиск. Контроллер Home и индексный вид все еще существуют в приложении, так как я еще не удалил их (мы можем решить отобразить домашнюю страницу в качестве первой страницы приложения).

Я собираюсь удалить контроллер Home и связанные представления из проекта, поскольку я пробовал ряд других вещей, включая чистую публикацию с нуля, перезапуск веб-сервера и очистку кэша моего браузера. Но мне любопытно, почему это может произойти, поскольку я не могу найти никаких других ссылок на Home / Index ни в одном из моих файлов проекта, включая global.asax.cs и web.config. У кого-нибудь есть идеи?

Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2009

Есть ли вероятность, что Home / Index определен как defaultUrl в web.config?

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" 
        defaultUrl="~/Home/Index" />
</authentication>
...