본문 바로가기

Course/Spring Security6

[netplix-security-a] AuthenticationProvider 구현 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 4. AuthenticationProvider와 인] - 01. AuthenticationProvider 살펴보기강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. 인증 구현인증 논리를 담당하는 AuthenticationProvider 를 알아보자요청을 허용할 것인지 정할 수 있음 AuthenticationManager 는 HTTP 필터 계층에서 요청을 수신하고 이 책임을 AuthenticationProvider 에게 위임함 두 케이스로 정리할 수 있음사용자를 찾을 수 없음: 애플리케이션이 사용자를 인식하지 못해 권한 부여 프로세스에 위임하지 않고 요청을 거부함사용자를 찾을 수 있음: 사용자 정보가 저장되어 있기 때문에 애플.. 2024. 10. 3.
[netplix-security-a] AOP를 활용하여 비밀번호 암호화하기 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 4. PasswordEncoder] - 04. AOP를 활용하여 비밀번호 암호화하기강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. 아래 암호화 요구사항은 어떻게 해결할 수 있을까?요구사항API 를 호출하는 클라이언트는 평문으로 비밀번호를 입력함보안을 위해 서버는 비밀번호를 암호화하여 관리함암호화 알고리즘은 수시로 변경될 수 있음 2. 암호화를 하려면 어떻게 해야 할까?HelloRequestBody 로 평문 비밀번호를 입력 받은 다음 직접 암호화 로직을 실행시킴단점: 암호화가 필요한 시점에 매번 로직을 수행해야 한다는 점HelloControllerpackage fast.campus.fcss01.controller;impor.. 2024. 10. 3.
[netplix-security-a] PasswordEncoder 구현 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 4. PasswordEncoder] - 01. PasswordEncoder 살펴보기강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. 키 생성기키 생성기는 특정한 종류의 키를 생성하는 객체로 일반적으로 암호화나 해싱 알고리즘에 필요함스프링 시큐리티에서 제공하는 키 생성기 인터페이스:BytesKeyGeneratorStringKeyGenerator StringKeyGenerator문자열 키 생성기를 이용해 문자열 키를 얻을 수 있음이 키를 기반으로 해싱 또는 알고리즘의 솔트(salt) 값으로 이용할 수 있음StringKeyGenerator 는 generateKey() 메소드를 제공함 StringKeyGenerator 와 솔팅St.. 2024. 10. 3.
[netplix-security-a] UserDetailsService 와 UserDetailsManager 구현 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 3. UserDetails와 사용자 관리] - 01. UserDetails 살펴보기강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. UserDetailsService 구현InMemoryUserDetailsManager 를 활용해서 UserDetailsService 를 구현해보자이를 위해 먼저 User 를 구현해야 함 User 클래스username, password, authority 는 모두 final 으로 설정하여 값을 변경할 수 없도록 지정간단한 예제를 위해서 authority 는 하나만 설정package fast.campus.fcss01.user;...public class User implements UserDeta.. 2024. 9. 29.
[netplix-security-a] UserDetails와 영속성 엔티티의 분리된 구현 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 3. UserDetails와 사용자 관리] - 01. UserDetails 살펴보기강의를 바탕으로 실습 내용을 정리하였습니다.목차  이번 시간에는 UserDetails 인터페이스에 대해 조금 더 디테일한 레벨에서 알아보자계정 만료, 계정 잠금, 자격 증명 만료, 계정 비활성화 기능을 통해 사용자를 애플리케이션 수준에서 제한할 수 있음 1. 간단한 UserDetails 구현해보기UserDetails, GrantedAuthority 등을 이용하여 기본적인 UserDetails 를 구현해보자 요구사항사용자의 이름은 ”jinny.lee”비밀번호는 평문으로 “12345”읽기 권한이 필요함 (READ) user 라는 패키지를 생성하고 하.. 2024. 9. 29.
[netplix-security-a] 기본 구성 재정의 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 2. 스프링 시큐리티 기초] - 03. 기본 구성 재정의강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. UserDetailsService 구성 요소 재정의InMemoryUserDetailsManager 구현체를 이용하여 기본 구성을 재정의하는 방법에 대해 알아보자스프링 빈으로 등록할 수 있음config 패키지를 생성하고 설정 클래스(SecurityConfig)를 생성@Configuration 어노테이션으로 클래스를 구성 클래스로 구분@Bean 어노테이션으로 반환되는 값을 스프링 컨텍스트에 반영InMemoryUserDetailsManager 를 UserDetailsService 로 반영package fast.campus.f.. 2024. 9. 29.
반응형