반응형
/**
* 특정 url 에 대해 허용된 아이피만 접근 하도록 설정 하도록 한다.
* 물론 hasRole 기반으로 해도 되겠지만, 아이피 기반으로 url 접근을 거부 하도록 한다.
* 허용되지 않은 아이피로 url 에 접근시 다시 인증 받도록 한다.
* 스프링에서 제공하는 SpEL 형식으로 추가하도록 한다.
*
* 해당 설정 후 로컬에서 테스트를 진행 하려고 하였으나, 실패 하였다.
* 실패의 원인은 로컬에서 WAS 를 실행시 기본적으로 아이피가 0:0:0:0:0:0:0:1 와 같은 ipv6 이 주소를 가져오도록 하였기 때문이다.
* VM 옵션 혹은 WAS Arguments 값을 수정 해주도록 한다.
* intelliJ: -Djava.net.preferIPv4Stack=true
* 톰캣 WAS : catalina 파일에 JAVA_OPTS 설정 추가.
*
*/
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("admin/**").access("hasIpAddress('10.0.0.1') or hasIpAddress('10.0.0.1')")
.antMatchers("user/**").access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN') or hasRole('ROLE_MANAGER')");
http.csrf().disable();
http.cors();
.
.
.
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers(HttpMethod.OPTIONS, "/**");
}
}
반응형
'SpringBoot' 카테고리의 다른 글
Spring Security with CustomFilter (0) | 2018.08.05 |
---|---|
Java 8 - Functional interface 사용방법 (0) | 2018.07.25 |
Swagger default httpstatus code 200 disable (0) | 2018.05.28 |
Spring 비동기 사용 방법(Async in Spring boot) (0) | 2018.05.18 |
Springboot jar execute script (1) | 2018.05.15 |