• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

다중 보안 설정에서도 method방식이 적용이 되나요?

21.07.20 22:45 작성 조회수 254

0

실제 개발을 하다보니 USER권한별이 엔티티가 가지는 컬럼이 너무 많아서 분리를 해서 인증과 인가처리를 할려고 합니다.

아키텍쳐 강의에서 가르쳐주신것처럼 다중 보안설정을 통해 user를 위한 securityconfig와 admin, manager를 위한 securityconfig를 각각 설정해 다중 보안 설정방식으로 할 경우에도 메소드방식이 다 적용이 되나요??

각각의 도메인에서 ROLE을 가지고 각각 ROLE_USER, ROLE_MANAGER, ROLE_ADMIN을 가지고 있습니다.

답변 3

·

답변을 작성해보세요.

1

음 

aop 를 통한 method 방식은 스프링 시큐리티의 초기화 과정에서 이루이지고 강의에서 설명하고 있는 것 처럼 DB 에서 정보를 가지고 와서 모든 권한 상태를 설정하고 있습니다.

즉 서비스 단에서 정의한 클래스와 메서드에 권한정책을 설정하는 것이기 때문에  사용자별로 다르게 환경설정을 해서 인증과 인가 정책을 구성해서 진행하는 것과는 별개의 문제입니다.

클래스와 서비스는 공통적으로 사용하기 때문에 인증을 통해 접근하는 사용자의 권한이 어떤 것이냐가 중요한 문제이지  환경설정을 다르게 구성한다 하더라도 aop 는 공통적으로 적용된다고 보시면 됩니다.

그래서 aop 구성을 각 인증에 따라 구성하는 것이 아니라 aop 로 구성된 내용을 각 인증에 따라 사용하는 개념으로 이해하시면 될 것 같습니다.

0

추가적으로 말씀드리면 현재 Account(일반유저) , Mangaer(관리자)를 각각의 도메인으로 하여 인증처리와 인가처리를 하고 싶습니다.

각각의 도메인으로 구성하였기에 각기 다른 securityConfig를 설정하여 각각의 로그인과 userDetailsService들을 각각 구현하여 securityConfig를 설정할 경우 aop기반의 Method형식으로 사용하고 싶을경우 어떻게 설정해주어야 하나요..?

정리하자면 다음과 같습니다.

1.user로 역할을 다함께 묶는 것이 아니라 Role별로 각각의 엔티티를 사용하고있습니다.

->security Config를 다중 필터로 사용하여 각각의 로그인페이지와 각각의 userdetailsService를 구현하여서 인증을 시도하고 있습니다.

2.위의 방식을 aop기반 method형식으로 바꾸고 싶습니다. 그럴경우 로그인페이지 2개와 각각의 인증처리를 어떤 방식으로 하여야 하나요? 현재 jwt토큰방식으로 진행할려고 합니다.

.

0

메소드 방식이 모두 적용된다는 의미가 무엇인지 잘 모르겠습니다.

좀 더 자세히 설명 부탁드려도 될까요?

기존에 설명을 주셨던 다중 필터의 경우 먼저 .antMacher로  url을 보고 어떤 securityConfig를 적용하는 형태였는데 메소드 형식으로 하면 @EnableGlobalMethodSecurity를 사용할 경우 antMatcher를 사용하지 않고 @PreAuthorize어노테이션을 사용하는데 이럴때 어떤 securityConfig를 사용하여야 하는지 구별할 수 없는데  어떤 식으로 다중 보안 필터를 사용하는지 궁금합니다.