240223 기록(1)
환경 Spring boot 3.2.2 gradle jdk 17 sdk temurin-21 jpa msa maria DB RestAPI EurekaServerApplication build.gradle dependencies { implementation 'org.springframework.cloud:...
환경 Spring boot 3.2.2 gradle jdk 17 sdk temurin-21 jpa msa maria DB RestAPI EurekaServerApplication build.gradle dependencies { implementation 'org.springframework.cloud:...
1, 2, 3 더하기(9095) import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inpu...
Role Hierarchy 계층 권한이라고 한다 권한 A, B, C가 있고, A < B < C 순으로 권한이 높다고 가정한다. 기존 방식 @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http ...
HttpBasic 인증 방식 로그인 방식에는 form 태그를 이용한 formLogin 방식과 httpBasic 로그인 방식이 있다 httpBasic 인증 방식은 아이디와 비밀번호를 Base64 방식으로 인코딩한 뒤 HTTP 인증 헤더에 부착하여 서버측에 요청을 보내는 것이다 @Bean public SecurityFilterChain ...
InMemory 소수의 유저를 저장할 때 좋은 방법이다 시큐리티 로그인 환경이 필요하지만 소수의 회원 정보만 가지며, 데이터베이스라는 자원을 투자하기 힘든 경우 회원가입이 없는 InMemory 방식으로 유저를 저장한다 InMemoryUserDetailsManager 클래스를 통해 유저를 등록한다 @Configuration @E...
csrf CSRF(Cross-Site Request Forgery)는 요청을 위조하여 사용자가 원하지 않아도 서버측으로 특정 요청을 강제로 보내는 방법 예) 회원 정보 변경, 게시글 CRUD를 사용자 모르게 요청 등등… 개발환경에서 csrf disable() 개발 환경에서는 SecurityConfig 클래스를 통해 csrf설정을...
세션 정보 시큐리티는 인증과 인가가 완료되면 세션에 저장해둔다 사용자의 정보가 저장된 Authentication은 SecurityContext에 있고, SecurityContext는 SecurityContextHolder에 있다. 세션 현재 사용자 아이디 SecurityContextHolder.getContext()...
인증 시큐리티를 통해 인증을 진행하는 방법은 사용자가 로그인 페이지를 통해 아이디와 비밀번호를 POST로 요청 스프링 시큐리티가 DB에 저장된 회원정보를 조회 후 비밀번호를 검증하고 서버 세션 저장소에 해당 아이디에 대한 세션 저장 UserRepository로 조회된 UserEntity를 UserDetails에 담아 시큐리티에게 ...
데이터베이스 종류와 ORM 회원정보를 저장하기 위한 데이터베이스는 MySQL 엔진의 데이터베이스를 사용한다 그리고 접근은 Spring Data JPA를 사용한다 회원 가입 로직 회원정보를 통해 인증 인가 작업을 진행하기 때문에 사용자로부터 회원가입을 진행한 뒤 데이터베이스에 회원정보를 저장해야 한다. 회원가입 페이지 &...
시큐리티 암호화 시큐리티는 사용자 인증(로그인) 시 비밀번호에 대해 단방향 해시 암호화를 진행하여 저장되어 있는 비밀번호와 대조한다 따라서 회원가입 시 비밀번호 항목에 대해서 암호화를 진행하여야 한다 package com.example.testsecurity.config; import org.springframework.contex...