나는 Separation of Concerns를 가능한 한 강력하게 유지하려고 애 쓰고있는 응용 프로그램을 만들고 있습니다. 우리는 보안에 대한 교차 관심이 여러 가지 합병증을 유발한다는 사실을 발견했습니다.AOP 및 UI 요소에 보안 적용
그러나 속성 및 Aspect-Oriented Programming을 사용하여 완화 할 수있는 것처럼 보입니다.
도메인 계층 코드에 요소를 적용하는 것으로 알고 있지만 UI 요소에 적용하려면 어떻게해야합니까? 예를 들어 사용자가 해당 기능을 실행할 수있는 권한이 없을 때 버튼을 표시하지 않으려면 어떻게해야합니까?
<% if (user.CanSeeSomeData) { <%=Html.TextBox("MyTextBox") } %>
을하지만 우리는 속성 라 AOP 가능한 경우에 표시를 제어하고 싶습니다 : 우리의 MVC 응용 프로그램에서
,이 시점에서 우리는 (의사 코드는 다음) 작성해야 할 것입니다.아이디어가 있으십니까?
또한 유용 할 타사 오픈 소스 도구가있는 경우 해당 제안을 환영합니다.
답장, 감사에 감사드립니다. 그래서, 당신은 속성 접근 방식이 괜찮다고 말하고 있습니까? Conroller/ViewModel에서 수행되어야합니다. if 문은 그것을 수행하는 방법입니다. * [ "보기가 있어야하는 방법입니다.] * – jlembke
또한, 어떻게 ViewModel에서이 작업을 수행 할 수 있습니까? 속성에 특성을 넣을 수는 있지만 양식 항목을 표시/숨기기/사용 불가능으로 변환하지는 않습니다. 내가 컨트롤을 숨기려고하지 않고 ViewModel/Controller에서 액세스 위반을 처리해야한다고 말하고 있습니까? – jlembke