에러해결 & 최적화/Spring

[해결]접근가능한 url 권한 설정이 안되는 문제(SpringSecurity)

Chung-A 2021. 11. 2. 21:58

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을 매핑할 때 하위 경로→넓은 경로 순으로 권한이 넓은 것을 제일 마지막에 적어야 하는 것 같다.

 

오늘도 자잘한 팁 하나 알게되었던 것 같다ㅎㅎ