점프 투 스프링- 스프링 시큐리티

주바나·2023년 3월 28일
0

Spring Boot

목록 보기
11/14
post-thumbnail

스프링 시큐리티


스프링 시큐리티는 스프링 기반 애플리케이션의 인증과 권한을 담당하는 스프링의 하위 프레임워크이다.

  • 인증(Authenticate)은 로그인을 의미한다.
  • 권한(Authorize)은 인증된 사용자가 어떤 것을 할 수 있는지를 의미한다.

SecurityConfig.java


@Configuration스프링의 환경설정 파일임을 의미하는 애너테이션이다.
여기서는 스프링 시큐리티의 설정을 위해 사용되었다.
@EnableWebSecurity모든 요청 URL이 스프링 시큐리티의 제어를 받도록 만드는 애너테이션이다.

스프링 시큐리티의 세부 설정은 SecurityFilterChain 빈을 생성하여 설정할 수 있다. 다음 문장은 모든 인증되지 않은 요청을 허락한다는 의미이다. 따라서 로그인을 하지 않더라도 모든 페이지에 접근할 수 있다.

http.authorizeHttpRequests().requestMatchers(
    new AntPathRequestMatcher("/**")).permitAll();

CSRF


CSRF(cross site request forgery)는 웹 사이트 취약점 공격을 방지를 위해 사용하는 기술이다. 스프링 시큐리티가 CSRF 토큰 값을 세션을 통해 발행하고 웹 페이지에서는 폼 전송시에 해당 토큰을 함께 전송하여 실제 웹 페이지에서 작성된 데이터가 전달되는지를 검증하는 기술이다.

profile
BE -JAVA,Spring boot

0개의 댓글