Spring boot/Spring Security 5

Authorize HttpServletRequests

개요Spring Security를 사용하면 요청 수준에서 권한을 모델링 할 수 있습니다 .예를 들어 Spring Security를 사용하면 모든 페이지에 /admin하나의 권한이 필요하고 다른 모든 페이지에는 인증만 필요하다고 말할 수 있습니다 .기본적으로 Spring Security는 모든 요청이 인증되어야 합니다. 즉, 인스턴스를 사용할 때마다 권한 HttpSecurity부여 규칙을 선언해야 합니다.인스턴스 가 있을 때마다 HttpSecurity적어도 다음을 수행해야 합니다.http .authorizeHttpRequests((authorize) -> authorize .anyRequest().authenticated() )대부분의 경우 승인 규칙은 이보다 더 복잡하므로 다음 사..

Password Storage

개요Spring Security에 있는 PasswordEncoder를 사용하기 위해 알아보고자 한다.Spring Security의 PasswordEncoder인터페이스는 비밀번호를 안전하게 저장하기 위해 비밀번호의 단방향 변환을 수행하는 데 사용됩니다.PasswordEncoder단방향 변환인 경우 비밀번호 변환이 양방향이어야 하는 경우(예: 데이터베이스에 인증하는 데 사용되는 자격 증명을 저장하는 경우)에는 유용하지 않습니다.일반적으로 PasswordEncoder인증 시 사용자가 제공한 비밀번호와 비교해야 하는 비밀번호를 저장하는 데 사용됩니다.DelegatingPasswordEncoder기본 PasswordEncoder가 BCryptPasswordEncoder와 비슷해질 것으로 예상할 수 있지만 이는 ..

Spring boot 3.x 이후 설정 코드

개요Spring Boot 가 3.x Version 으로 들어서면서 Minor Version 이 바뀌었다보니확실히 생각보다 변화된 부분이 많습니다.Spring Boot 3.x.x 이전 설정 코드기존 코드는 아래와 같이 Builder 형식으로 추가적인 설정을 해줬어야 했습니다..disable() 이 대표적인 예시라고 보면 됩니다.Security 에서는 5.2.x 버전부터 Lambda DSL 방식으로 설정할 수 있도록 변경이 이루어진 적이 있습니다. 따라서, 예로 authorizeRequests() 에서 람다를 사용해서 표현할 수 있도록 되었습니다.@Configuration@RequiredArgsConstructor@EnableWebSecuritypublic class SecurityConfig { pr..

BCryptPasswordEncoder란?

1. BCryptPasswordEncoder란?스프링 시큐리티(Spring Seurity) 프레임워크에서 제공하는 클래스 중 하나로 비밀번호를 암호화하는 데 사용할 수 있는 메서드를 가진 클래스입니다.BCryptPasswordEncoder는 BCrypt 해싱 함수(BCrypt hashing function)를 사용해서 비밀번호를 인코딩해주는 메서드와 사용자의 의해 제출된 비밀번호와 저장소에 저장되어 있는 비밀번호의 일치 여부를 확인해주는 메서드를 제공합니다.PasswordEncoder 인터페이스를 구현한 클래스입니다.생성자의 인자 값(verstion, strength, SecureRandom instance)을 통해서 해시의 강도를 조절할 수 있습니다.BCryptPasswordEncoder는 위에서 언급..

Spring Security - JPA 연동하기

InMemoryUser 방식은 문제점이 존재하기때문에 DATABASE와 연동하는 방법을 사용한다.방법이 다양하지만 그중에서도 JPA와 연동하는 방법을 사용한다.의존성 추가하기JPA 의존성을 추가하고, DATABASE는 h2 를 사용하도록 한다.!https://blog.kakaocdn.net/dn/c6uds7/btqx8MbfeK7/61Y1W34fO4OikZOuxK7Qn0/img.pngAccountUser 정보에 해당하는 Account Entity 를 생성한다.username은 유일한 값이기 때문에 Unique 제약조건을 걸어준다.!https://blog.kakaocdn.net/dn/NZVmI/btqx9zvwsWl/qO546P4afAflK3kDDgeIok/img.pngJpaRepository 를 상속받는 A..

728x90
반응형