본문 바로가기

Course14

[java-basic] 1. 클래스와 데이터 김영한의 실전 자바 - 기본편 목차 1. 클래스클래스를 사용해서 학생이라는 개념을 만들고, 각각의 학생 별로 본인의 이름, 나이, 성적을 관리한다. Student 클래스package class1;public class Student { String name; int age; int grade;}class 키워드를 사용해서 학생 클래스(`Student`)를 정의한다. 학생 클래스는 내부에 이름(`name`), 나이(`age`), 성적(`grade`) 변수를 가진다. 클래스에 정의한 변수들을 멤버 변수, 또는 필드라고 한다.자바에서 멤버 변수, 필드는 같은 뜻이다. 클래스에 소속된 변수를 뜻한다. 클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용한다. 학생 클래스를 사용하는 코드Class.. 2024. 12. 6.
[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.
반응형