Spring Security/ Config 경로 설정

김용빈·2022년 11월 7일

API_Toy Project

목록 보기
2/2

Spring Security 커스텀 필터를 이용한 인증 구현

Spring Security 설정

스프링부트를 사용한다면 application.yml에서 설정도 간단한 설정이 가능하지만, 모든설정을 할 수없으므로 Configuration Class에서 하는 설정이 기본이다.

  • Java Config는 말 그대로 자바클래스를 설정파일로 사용한다는 의미다.
  • 스프링에서는 Java Config로 사용하는 클래스는 @Configuration이라는 어노테이션을 붙여 표시

Spring Security Configuration class

스프링시큐리티 Configuration Class를 작성하기 위해 @EnableWebSecurity, Configuration 애노테이션 추가

HttpSecurity 설정

스프링 시큐리티의 설정은 HttpSecurity로 한다.

  • 리소스(URL) 접근 권한 설정
  • 인증 전체 흐름에 필요한 Login, Logout 페이지 인증완료 후 페이지 인증 실패 시 이동 페이지 설정
  • 인증 로직을 커스텀하기 위한 커스텀 필터 설정

HttpSecurity는 스프링시큐리티의 거의 대부분의 설정을 담당하는 객체이다.

  • http.csrf.disable ->
    CSRF 공격이란, 인터넷 사용자(희생자)가 자신의 의지와는 무관하게 공격자가 의도한 행위(등록, 수정, 삭제 등)를 특정 웹사이트에 요청하도록 만드는 공격
    이러한 공격을 방지하기 위해 csrf.disable을 설정

    리소스(URL 권한 설정)

    특정 리소스의 접근 허용 또는 특정 권한을 가진 사용자만 접근 가능케 만듦

    antMatchers : 특정 리소스에 대해 권한설정

밑에 .access / .antMatchers 를 보면 접속 링크별로 어떤 권한만 허락되는지 구현

예를들어 .antMatchers 에서 허락되는 권한을 ROLE_ADMIN 으로 준다면, 그 링크에서는 ROLE_ADMIN 등급을 가진 유저만 접속이 허용

profile
안녕하세요!

0개의 댓글