JAVA/- Spring
[Spring security] 권한 설정 해보기, 권한 표현식 알아보기
wonin
2022. 9. 11. 18:10
OAuth2로 접근을 허용할 때 어느 url을 허용할 꺼냐를 설정해야합니다.
spring security에서 WebSecurityConfigurerAdapter를 상속 받아서 조절할 수 있습니다.
먼저 spring security 의존을 가져와야 합니다.
implementation 'org.springframework.boot:spring-boot-starter-security'
저는 OAuth2를 사용합니다.
* WebSecurityConfigurerAdapter 상속 주의점
더보기

- configure(WebSecurity web) 구현
- configure(HttpSecurity http) 구현
* 이 메서드를 @Override 하지 않으면 스프링에서 기본으로 제공하는 로그인 화면이 나옵니다.

[Spring Security] 권한 설정 및 표현식
|
예시 코드
http
.antMatcher("/users/**")
.authorizeRequests()
.antMatchers("/users/login", "/users/join").permitAll()
.antMatchers("users/mypage").hasRole("USER")
.antMatchers("/users/admin").access("hasRole('ADMIN')")
.antMatchers("/users/admin/del").access("hasRole('ADMIN') or hasRole('SYS')")
.anyRequest().authenticated();
표현식
- authenticated() ; 인증된 사용자의 접근을 허용
- fullyAuthenticated(): 인증된 사용자의 접근을 허용, rememberMe인증 제외
- permitAll(): 무조건 허용
- denyAll(): 무조건 차단
- anonymous(): 익명사용자 허용
- rememberMe(): rememberMe 인증 사용자 접근 허용
- access(String): 주어진 SpEL표현식의 평가 결과가 true 이면 접근허용
- hasRole(String): 사용자가 주어진 역할이 있다면 접근을 허용
- hasAuthority(String): 사용자가 주어진 권한이 있다면 허용
- hasAnyRole(String...): 사용자가 주어진 어떤권한이라도 있으면 허용
- hasAnyAuthority(String...): 사용자가 주어진 권한중 어떤 것이라도 있다면 허용
- hasIpAddress(String): 주어진 IP로 부터 요청이 왔다면 접근을 허용
728x90
반응형
참고
https://fenderist.tistory.com/411 [Devman:티스토리]
728x90