Spring Security에서 권한별로 접근할 수 있는 url 을 다르게 주고 싶었다
(최고관리자를 ADMIN, 중간관리자를 SUB_ADMIN 이라고 하자)
처음에 아래와 같이 적고 테스트를 해보았다.
http.authorizeRequests()
....
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/admin/sub/**").hasRole("SUB_ADMIN")
그런데 위와같이 적으니까 ADMIN은 되는데 SUB_ADMIN 은 계속 404 뜨고있었다.
이것저것 해보다가 아래와 같이 서로 순서를 바꿔서 해보았다.
http.authorizeRequests()
...
.antMatchers("/admin/sub/**").hasRole("SUB_ADMIN")
.antMatchers("/admin/**").hasRole("ADMIN")
그런데 이렇게 하니까 된다.....ㅋㅋㅋㅋ
아무래도 url을 매핑할 때 하위 경로→넓은 경로 순으로 권한이 넓은 것을 제일 마지막에 적어야 하는 것 같다.
오늘도 자잘한 팁 하나 알게되었던 것 같다ㅎㅎ
'에러해결 & 최적화 > Spring' 카테고리의 다른 글
[해결]JPA 사용 시 DB 에 들어가는 시간과 실제 시간이 안맞는 경우 (0) | 2021.11.06 |
---|---|
[해결] QueryString이 @RequestParam으로 인식이 안되는 경우 (0) | 2021.09.12 |