• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Spring security Multi 인증 문의드려요

21.07.23 23:07 작성 조회수 194

0

강사님 안녕하세요
하나의 어플리케이션으로 관리자/사용자 형태로 구분해서 Spring security 세팅 하려고 합니다.
크게는 관리자와 사용자 2개의 인증을 별도로 태우려고 해요

- entity : User , Admin

- UserDetailsService  : UserService, AdminService

- WebSecurityConfigurerAdapter
- UserSecurityConf :
- 우선순위 낮음
- /user/** 요청만 검증, 
- /user/login : 로그인 페이지
- AdminSecurityConf
- 우선순위높음
- /admin/** 요청만 검증
- /admin/login : 로그인 페이지
대부분 원하는대로 동작이 되지만
세션을 같이 써서 문제가 발생하는것 같습니다.
예를 들어 user 로 정상 로그인 후에 
admin 계정으로 로그인하게 될대 403 Forbidden 에러가 발생하네요
세션을 구분해서 관리할수 있는 방법이 있을까요?

답변 1

답변을 작성해보세요.

1

admin 계정으로 로그인하게 될대 403 Forbidden 에러가 발생하는 정황과 이유를 좀 더 분석해 봐약할 것 같습니다.  실제로 admin으로 로그인이 됐다면 403에러가 나서는 안되겠죠. 로그인 전에 user 권한으로 admin 페이지에 접근을 시도했을 때 에러가 발생했다면 403 에러가 발생할 수 있을겁니다. 그런 상황을 방지하려면 user 권한으로 로그인 한 상태가 아니라 로그아웃 이후에 다시 admin 권한을 가진 페이지에 접근하여 로그인을 유도하거나, admin 권한을 가진 상태가 아닌 유저가 접근했을 때 커스텀한 권한 처리 로직을 추가해서, 기존 세션을 만료시키고 로그인 페이지로 유도하도록 해야 할 것 같습니다.