2014-11-07 1 views
1

MVC에서 영역을 사용하는 방법이 약간 혼란 스럽습니다. admin과 customer에 대해 2 개의 영역을 만들지 만 admin과 customer는 동일한 컨트롤러에 액세스 할 수 있습니다.MVC에서 영역 사용 방법

예를 들어, PurchaseOrderController,이 컨트롤러를 어디에 두어야하는지 혼동 스럽습니다. 관리 영역 또는 고객 영역에 이 있습니까?

고객은 푸치 오 주문을하고, 구매를 편집하고 (아직 처리되지 않은 경우) 그의 구매 내역을 표시 할 수 있습니다.

관리자는 내가 관리 영역과 고객 영역에 PurchaseOrderController을 만들어야합니다, 그래서 (진행에 업데이트 상태)

를 고객의 구매 및 세부 사항, 공정 구입 을 모두 볼 수 있습니까? 이 사건에 대한 해결책은 무엇입니까?

답변

1

완전히 다른 프로세스 흐름 인 것처럼 들립니다. 두 가지 유스 케이스 모두에 대해 별도의 컨트롤러를 설명해야합니다. 그렇지 않으면 기술적으로 화면에 속하지 않을 수있는 논리에 대한 if 문을 사용하여보기를 지울 수 있습니다.

권한 부여는 컨트롤러와 메소드 레벨 모두에서 사용할 수 있으므로 별도의 컨트롤러에서는 이해가되지 않는다면 하나에 합치십시오.

[Authorize(Roles="Administrators")] 
+0

나는 정확하게 영역을 구현했는지 또는 다른 영역에서 동일한 컨트롤러를 사용하는 것이 좋은 방법이라고 생각합니까? – Willy

+0

공유하는 구성이 있어도보기 모델이 사용자 및 관리자의보기 모델과 달라야하므로 별도의 영역으로 이동하는 것이 좋습니다. 나는 컨트롤러에 대한 관심의 분리를 따르는 것이 더 좋다고 믿는다. – TysonWolker

+0

늦게 답장을 드려 죄송합니다. 동의하지만 컨트롤러의 이름은 무엇입니까? 그들은 같은 이름을 가져야합니까? MVC 프로그래머가 일반적으로 수행하는 일반적인 예를 들려 줄 수 있습니까? – Willy