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
'JAVA > - Spring' 카테고리의 다른 글
[Spring security] 이미 만들어 놓은 로그인 시스템에 시큐리티 적용하기 (0) | 2022.09.23 |
---|---|
[Spring Security] OAuth2, AWS ec2 연동 (0) | 2022.09.12 |
[Spring boot] Spring boot 에서 외부 Api(네이버 쇼핑Api) 사용해보기 (0) | 2022.07.24 |
@EntityGraph에 대해 알아보자 (0) | 2022.06.28 |
[spring boot] @ManyToOne에서 데이터 선택적으로 가져오기 (0) | 2022.06.27 |