일반적으로 서버 측 컨트롤러에 권한 부여 결정을 내립니다. 이것들은 최근 RESTful 끝점이지만, MVC 유형 아키텍처도 마찬가지라고 생각합니다. 논증을 위해 역할 기반 인증이라고 가정합니다. 보호 된 방법에 주석을 달거나 점검하고 필요한 경우 403을 반환합니다.
예를 들어, 권한 부여가 실제로 비즈니스 규칙이라는 점을 고려하면, 예를 들어 "관리자 만 X를 나열 할 수 있습니다"라고 생각합니다. 컨트롤러가 비즈니스 계층에 작업 수행을 요청하면 서비스 또는 비즈니스 계층은 컨트롤러에게 권한이 없음을 알려줍니다.
이것이 합리적인 접근입니까? 이것에 단점이 있습니까?
본질적 으로이 작업을 수행하기 위해 많은 정적 절차 코드 규칙을 보유하는 AuthorisationService를 가지고 싶지는 않지만 모든 액세스 논리를 한 곳에 보관하는 것이 좋습니다. 분리해야하는 교차 절단 문제입니까?
그래서 나는 누군가가 이것을했는지, 그들이 어떻게 깨끗한 방법으로 그것을 달성했는지 또는 내가 읽을 수있는 좋은 자료가 있는지 묻습니다. Java fwiw를 사용하고 있지만 언어에 구애받지 않는 질문입니다.
나는 여기에서 관련 질문을 확인했으며 그 질문에 대한 답은 매우 얇습니다. 예를 들면 다음과 같습니다. 도메인 모델의 유효성 검사 및 권한 부여 및 서비스 계층을 통해 MVC에이를 수행
나는 교차 보안 문제로 좋은 주장을 하는 스프링 보안 문서 를 읽고 있지만 그것이 "봄의 길"이고 더 넓은 관점을 원 할까 걱정됩니다. 또한 응용 프로그램을 특정 프레임 워크에 연결합니다.