내 문제를 설명 할 때 어떤 제목을 사용해야하는지 정말 모르겠다. 내 문제를 단순화합니다. 여기에 내 시험이있다. 나는 처음부터 mvc3 사이트를 만듭니다. 그런 다음 "admin"이라는 영역을 추가합니다. admin 내부에는 "Search"라는 컨트롤러가 있고 "Authorize"속성이 있습니다. 그런 다음 Global.ascx.cs 경로 설정을 변경하여 컨트롤러 네임 스페이스를 추가했습니다. 이제 시험을 시작합니다.MVC3 영역 + 권한 부여 + 역할 이상한 문제
1
내가 http://localhost:xxx/Search 페이지로 접근하고, 그것을 다시/계정/로그온 페이지로 저를 리디렉션 질문, 그것은 페이지를 로그온 저를 리디렉션 왜 나를 먼저 혼동하게? 내가 아는 한 Admin 검색 컨트롤러에 전혀 접근해서는 안됩니다. Authorize 속성을 제거하면 예상대로보기를 찾을 수 없다는 노란색 화면이 표시됩니다.
질문 2
나는 권한 부여 역할, 예를 들어,와 속성을 추가하는 경우 (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"}
);
}
귀하의 설명에 감사드립니다. 그러나 나는 아직도 그것을 혼동한다. 먼저 authorize 속성을 제거하면 관리 영역 내의 검색 컨트롤러를 검사하지 않는 이유를 설명 할 수 있습니까? – Vincent
@Vincent, 제안 된 코드가 도움이되지 않습니까? 무엇에 대해 특히 혼란 스럽습니까? –
어쨌든 다린, 기회가 있다면 내 다른 질문을 설명하는 데 도움이 될 수 있습니까? http://stackoverflow.com/questions/8219347/asp-net-mvc-allowhtml-bug-or-something-i-didnt-use- 정확하게 – Vincent