[SPRING] Spring REST 보안 - 다른 URL을 다르게 확보
SPRINGSpring REST 보안 - 다른 URL을 다르게 확보
기본 인증을 사용하여 Spring 4에서 REST API를 사용하고 있습니다. 이러한 REST 서비스는 / api / v1 / ** URL 아래에 있습니다. 그러나 다른 url / api / v2 / **에서 REST 끝점 집합을 추가하려고하지만 토큰 기반 인증으로 보호됩니다.
하나의 서블릿으로이 작업을 수행 할 수 있습니까? 다른 URL에 대해 다른 형태의 인증을 사용하도록 Spring Security를 설정하는 방법은 무엇입니까?
고맙습니다.
해결법
-
==============================
1.다음은 UserDetailsService를 사용하고 다른 URL 끝점에 대해 서로 다른 보안 구성을 갖는 Java 구성의 코드 샘플입니다.
다음은 UserDetailsService를 사용하고 다른 URL 끝점에 대해 서로 다른 보안 구성을 갖는 Java 구성의 코드 샘플입니다.
@Configuration @EnableWebMvcSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired UserDetailsService userDetailsService; @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userDetailsService); } @Configuration @Order(1) public static class ApiWebSecurityConfig extends WebSecurityConfigurerAdapter{ @Override protected void configure(HttpSecurity http) throws Exception { http .antMatcher("/api/v1/**") .httpBasic() .realmName("API") .and() .csrf().disable() .authorizeRequests() .antMatchers("/api/v1/**").authenticated(); } } @Configuration @Order(2) public static class ApiTokenSecurityConfig extends WebSecurityConfigurerAdapter{ @Override protected void configure(HttpSecurity http) throws Exception { http .antMatcher("/api/v2/**") /* other config options go here... */ } } }
from https://stackoverflow.com/questions/33037559/spring-rest-security-secure-different-urls-differently by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring MVC에서 param을 요청하기위한 날짜 전달하기 (0) | 2019.01.13 |
---|---|
[SPRING] 스프링 데이터 jpa @query 및 페이지 가능 (0) | 2019.01.13 |
[SPRING] Hibernate JPA와 Spring Framework 로딩 타임 / 런타임 위빙을 가능하게하는 방법 (0) | 2019.01.13 |
[SPRING] Spring + REST 웹 서비스로 @RequestBody 또는 @ModelAttribute (0) | 2019.01.13 |
[SPRING] 단일 페이지 AngularJS 응용 프로그램을위한 기본 스프링 보안 (세션 관리) 구현 방법 (0) | 2019.01.13 |