SpringSecrity

Spring Security(5.7.2) 공식문서 탐방(1)

공주맛밤 2022. 6. 25. 10:40

공식문서 주소 : https://docs.spring.io/spring-security/reference/index.html

Overview : 증명, 허가, 공격들로부터의 보호들을 제공하는 프레임워크로서 스프링기반의 어플리케이션들을 위한 사실상의 표준이다.

 

사전준비 : java 8 이상, JAAS(java authentication and authorizaion servervice)나 파일에 Spring Security를 둘 필요가 없음, 
소스코드 주소 : https://github.com/spring-projects/spring-security/

 

GitHub - spring-projects/spring-security: Spring Security

Spring Security. Contribute to spring-projects/spring-security development by creating an account on GitHub.

github.com

<Gradle>

compile "org.springframework.boot:spring-boot-starter-security"

특징 : 증명, 허가, 공격들로부터의 보호들을 제공하는 프레임워크

<증명(authentication)> : username과 password로 증명을 하며, 증명이 되면 허가를 할 수 있다.

  • Password Storage
    delegatingPasswordEncoder : 더 좋은 암호기술이 나오면 이에 맞게 암호화할 수 있도록 해준다.

기본 예제 실습

   

커스텀 실습

결과에 보이다 싶히 '{암호알고리즘}암호화 결과'와 같은 형식으로 저장이 된다.

bcrypt암호화 결과

http
    .passwordManagement(Customizer.withDefaults()) //기본 비밀번호 변경 설정
    
http
    .passwordManagement((management) -> management //비밀번호 변경 페이지 설정
        .changePasswordPage("/update-password")
    )
  • 공격으로부터의 보호
    CSRF 공격 : 이용자가 의도치 않게 특정 사이트를 공격하게 하는 공격 (예를 들어, 은행 웹에 로그인이 된 상태로 악성페이지에 들어갔는데 악성페이지에 숨겨져 있는 페이지에서 송금요청을 하도록 되어 있는 경우)
    ->Syncronizer Token Pattern : http요청과 함께 임의의 csrf토큰을  제공하고 이를 서버에서 비교하여 값이 다른경우 요청을 거부한다.
    HTTP Headers...
    HTTP Requests...
  • 여러 프레임 워크와 aop들과의 통합을 제공하고 있음

2편에 계속

728x90
반응형