2013-01-25 1 views
0

두 영역으로 구성된 프로젝트가 있습니다. 이 두 영역은 컨트롤러 또는 뷰 (예 : 학생 및 교사)를 공유하지 않는 다른 멤버 유형을 허용합니다. 그러나 그들은 연락처 및 지원 페이지 등에 대한 루트 컨트롤러를 공유합니다.MVC3 네임 스페이스를 사용하여 루트로 영역 라우팅

현재 각 영역 내에서 네임 스페이스를 사용합니다.

나는 그들이 충돌 컨트롤러하지 않아도 이런 식으로 뭔가를하지만, 네임 스페이스에 우선 순위를 부여 할 :

context.MapRoute(
    "Student_Default", 
    "{controller}/{action}/{id}", 
    new { area = "Student", controller = "Home", action = "Index", id = UrlParameter.Optional }, 
    new { RoleConstraint = new AuthenticationConstraint() }, 
    new[] { "Test.Web.Areas.Student.Controllers", "Test.Web.Controllers" } 
); 

을 또는 내가 "UseNamespaceFallback"을 사용하여 시도하지만, 모든 분야에서 검색을 일으키는 I 돈 싶지 않아.

내가 시도하지 않은 다른 것은 사용자가 로그온 할 때 영역 만 등록하는 것입니다. 이것이 받아 들일 수있는 접근법이 될 수 있을까요?

또한 각 페이지를 매핑 할 수도 있지만 잠재적으로 많은 페이지가있을 것이고 각 페이지를 지저분해질 수 있습니다.

그렇다면 어떻게하면 서로 사용할 수있는 영역없이 루트 컨트롤러를 두 영역 모두에서 사용할 수있게 할 수 있습니까? 더 많은 정보가 필요하면 알려주십시오. 제가하려고하는 것에 대해 더 많이 알려 드리겠습니다.

답변

0

주말에도 "UseNamespaceFallback"을 사용하기로 결정한 후 생각했습니다. 또한 각 사용자가 액세스 할 수있는 영역을 관리하는 사용자 역할을 구현했습니다. 인증을위한 방법으로 네임 스페이스를 절대 사용하지 말라는 권장 사항을 읽었을 때 이것이 더 나은 접근 방법이라고 생각합니다.