Я действительно не знаю, какое название мне следует использовать, чтобы описать мою проблему.Чтобы упростить мою проблему.Вот мой тест.Я создаю сайт mvc3 с нуля.Затем я добавляю область под названием «админ».Внутри администратора у меня есть контроллер с именем «Поиск» и украшенный атрибут «Авторизация».Затем я изменил настройки маршрута Global.ascx.cs, чтобы добавить пространство имен моего контроллера.Теперь я начинаю свой тест.
Вопрос 1
Когда я открываю страницу http://localhost:xxx/Search, он перенаправляет меня обратно на страницу / Учетная запись / Вход в систему,сначала меня смущает, почему перенаправляет меня на страницу входа?как я понимаю, он не должен доходить до контроллера поиска администратораЕсли я удалил атрибут Authorize, он отобразит желтый экран, который говорит, что не может найти вид, как я ожидал.
Вопрос 2
Если я добавлю атрибут Authorize с рольюНапример, (Roles = "Admin"), затем я снова пытаюсь получить доступ к странице поиска, независимо от того, успешно ли выполнен вход или нет, я всегда получаю перенаправление на страницу входа.Почему это не дает мне желтый экран, потому что я пытаюсь запросить индексное представление контроллера поиска на главном сайте, а не в административной области.очень запутанно.
Я новичок в разработке MVC, может кто-нибудь дать мне решение относительно моей проблемы?
Спасибо
Global.ascx.cs
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[]{"TestAreaRouting.Controllers"}
);
}