2012-02-08 3 views
0

ASP.MVC 응용 프로그램을 작성 중이며 페이지에 대한 액세스를 제어하기 위해 cotrollers에서 권한 부여 필터를 사용할 수 있지만 부분보기 내에서 보호 된 데이터에 대한 액세스를 제어하려는 경우 가장 좋은 방법은 무엇인지 궁금합니다. .ASP.MVC 허가 : 부분 콘텐츠를 제어 할 수있는 방법이 있습니까?

내가 읽은 바로는 ASP.MVC가이 수준의 세분성을 제공하지 않습니다.

이것은 모델에 대한 사용 권한을 특성으로 추가 한 다음 간단한 팩토리를 사용하여 뷰를 렌더링해야하는지 또는 빈 뷰를 반환할지 결정하는 것으로 충분합니다.

은 지금까지 나는

RenderPartial (PartialFactory.IsAllowedToRender ("partialName", Model.Security), 모델)

과 공장 중 하나를 요청 뷰를 반환 또는 빈 부분도 있습니다.

누군가가 전에이 시도하거나 아무도

답변

0

우리는 Html 헬퍼에 대한 확장 방법과 유사했던 (여분의 노력에서 떨어져)이하지 않습니다 이유를 알고있다.

RenderPartialIfExists 등등. 당신이 자주해야 할 일이 있다면 그렇게하는 것이 부끄러운 일이 아닙니다.

당신은 잘 작동하지만 확장 기능을 사용하지 않고 읽는 것이 좋습니다. 또한 HttpContext.Current.Items에 보안 정보를 추가하는 것을 고려해보십시오. 모델에 항상 전달할 필요가 없으며, 헬퍼, 컨트롤러 등을 활용해야하는 모든 것이 쉽게 액세스 할 수 있습니다. 그것은 요청의 처음에 가져와야합니다.

+0

감사합니다. 모델을 깨끗하게 유지해 주셔서 감사합니다. – user1197563

관련 문제