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