2009-11-11 3 views
0

배경 : 개발중인 grails 응용 프로그램에는 몇 가지 수준의 세부적인 보안 수준이 있습니다. 가장 작은 단위는 컨트롤러 수준입니다. 특정 페이지를 볼 수 있거나 Acegi 스프링 보안 플러그인을 사용할 수 없습니다. 두 번째 수준의 보안은 AOP 방식을 통해 서비스 계층에 있습니다. 전달 된 속성을 사용하여 특정 서비스 메소드에 액세스하는 방법은 해당 객체와 관련된 방법에 따라 결정할 수 있습니다. 세 번째 계층은 다시 서비스 계층에 있으며 AOP를 통해 쉽게 다시 지원됩니다. AOP는 서비스 메소드에 대한 조언을 제공하며 리턴 된 내용을 제한하거나 변경합니다.수준 보안 패턴보기

질문 내 질문에 대한 최종 수준은 표시 수준입니다. 일부 사용자는 특정 페이지에 대한 링크를 얻지 못하거나 추가 정보를 볼 수 있습니다. 이것을 구현하는 가장 좋은 방법은 무엇입니까? 현재 보안 taglib을 사용하고 ifAnyGranted 또는 ifAllGranted 등을 내 gsp에 직접 사용합니다. 앞으로는 더 복잡한 권한이 필요할 수도 있습니다. 이 보안을 컨트롤러로 다시 가져와야하고 <g:if test="${hasSomeViewRight}"></g:if>과 같은 작업을 수행 할 수 있도록 모델을 전달해야합니까?

두 가지가 모두 간결하지 않다고 생각합니다. 이것에 대한 더 좋은 패턴이 있습니까?

답변

0

예, 컨트롤러로 다시 가져와야합니다.

asp.net mvc에서 일반적으로보기 모델을 사용하여 수행되므로 모델이 특정보기와 관련된 항목으로 채워지지 않습니다.

ps. 나는 canDeleteProducts, canUpdateProducts와 같은 "hasSomeViewRight"를 고려한다.

+0

감사합니다. 더 많은 토론을 원합니다. –

관련 문제