spring/spring security 13

Spring Security 기본개념 공부 3.

Section 3. 메모리에 유저 정보를 저장하는 첫 번째 방법 UserDetailsManager를 extends한 InMemoryUserDetailsManager클래스를 정의해주면 된다. @Bean public InMemoryUserDetailsManager userDetailsService(){ UserDetails admin = User.withDefaultPasswordEncoder() .username("admin") .password("12345") .authorities("admin") .build(); UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("12345") .authorities("re..

Spring Security의 기본개념 공부 2.

Section 2. Spring Security의 기본 설정 기본적으로 스프링 시큐리티는 모든 URL을 보호한다. SpringBootWebSecurityConfiguration 클래스를 살펴보자 @Bean @Order(2147483642) SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception { http.authorizeHttpRequests((requests) -> { ((AuthorizeHttpRequestsConfigurer.AuthorizedUrl)requests.anyRequest()).authenticated(); }); http.formLogin(Customizer.withDefaults()); h..

Spring Security의 기본개념 공부 1.

Section 1. spring security를 써야하는 이유는 무엇일까? 보안 전문가들이 개발한 spring security를 사용함으로서 우리는 비즈니스 로직에만 집중할 수 있다. 최적화된 코드이기 때문에 최소한의 구성으로 웹 어플리케이션을 보호할 수 있다. 발전해가는 CSRF,CORS등의 취약점에 대비해 spring security팀은 항상 보안 코드를 업데이트 한다. 권한을 부여하여 접근을 제한할 수 있다. 다양한 방법으로 인증 및 인가를 구현할 수 있다. (JWT, OpenId등,, 추후에 배움) 서블릿과 필터 모든 웹사이트는 http 프로토콜을 사용하여 소통한다. 그러나 우리의 자바코드는 그러한 http 요청을 이해할 수 없기에 중재자가 필요하다. 이 중개자를 우리는 서블릿 컨테이너라고 부른..