[Spring] 5

[Spring Security] 시큐리티 환경 설정과 로그인

백기선님의 스프링부트 개념과 활용 기본편 강의를 듣고, 정리한 글입니다. 스프링부트 시큐리티 환경을 설정하고 회원가입과 로그인까지 완료했습니다. 환경 설정 MySQL 세팅 먼저 MySQL Workbench에서 MySQL DB와 사용자를 생성한다. create user 'cos'@'%' identified by 'cos12345'; GRANT ALL PRIVILEGES ON *.* TO 'cos'@'%'; create database security; use security; ERROR 1819 (HY000): Your password does not satisfy the current policy requirements. 프로젝트 생성 인텔리제이의 Spring Initializer를 사용해 프로젝트를 생..

[Spring] 2023.01.18

[Spring Security] WebSecurityConfigurerAdapter Deprecated 해결

더이상 WebSecurityConfigurerAdapter를 지원하지 않는다. spring 공식문서에 가보니 Spring Security 5.7.0-M2 부터는 구성 요소 기반 보안 설정으로 변경된다는 이슈가 있었다. WebSecurityConfigurerAdapter 상속 후, configure 메소드를 오버라이딩 하여 설정하는 방식에서 SecurityFilterChain를 빈으로 등록하는 방식으로 변경했다고 한다. // 이전 방식 // WebSecurityConfigurerAdapter 상속 후, configure 메소드 오버라이딩 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdap..

[Spring] 2023.01.18

[Spring] 템플릿 엔진 Mustache의 장점

Template Engine 템플릿 엔진은 지정된 템플릿 양식과 데이터를 합쳐 HTML 문서를 출력하는 소프트웨어이다. 웹사이트 화면을 어떤 형태로 만들지 도와주는 양식이라고 할 수 있다. 템플릿 엔진을 사용하면 하나의 템플릿으로 여러 페이지를 렌더링할 수 있기 때문에 재사용성이 높고 유지보수가 용이하다. 템플릿 엔진은 서버 사이드 템플릿 엔진과 클라이언트 사이드 템플릿 엔진으로 나눌 수 있다. Server Side Template Engine 서버 사이드 템플릿 엔진은 서버에서 DB 혹은 API에서 가져온 데이터를 미리 정의된 템플릿에 넣어 HTML을 그린 뒤 클라이언트에 전달해주는 역할을 한다. HTMl 코드에서 고정적으로 사용되는 부분은 템플릿으로 만들어두고 동적으로 생성되는 부분만 템플릿 특정 장..

[Spring] 2023.01.17

[Java] Builder 패턴

Java에서 객체를 생성할 때 사용하는 패턴은 대표적으로 생성자 패턴과 빌더 패턴이 있다. 빌더 패턴을 사용하면 지금 채워야 할 필드가 무엇인지 명확하게 지정할 수 있다. 예시부터 보면.. public class Person { private String name; private String grade; public Person(String name, String grade){ this.name = name; this.grade = grade; } // Getter public String getName() { return name; } public String getGrade() { return grade; } } String name = "jueun"; String grade = "4"; Person..

[Spring] 2023.01.16

[Spring] ERROR 1819 (HY000): Your password does not satisfy the current policy requirements.

비밀번호 정책에 맞지 않는 단순한 비밀번호를 설정해서 생긴 오류이다. '12345'처럼 단순한 비밀번호를 사용하려면 validate_password_policy를 낮춰야 한다. 현재 validate_password_policy는 "SHOW VARIABLES LIKE 'validate_password%';"로 확인할 수 있다. validate_password_policy는 LOW, MEDIMU, STRONG 3단계로 구성되어 있다. validate_password_policy를 최소 8자 이상 Length만 지켜주면 되는 LOW로 낮춰준다. mysql> set global validate_password.policy=LOW; Query OK, 0 rows affected (0.00 sec) 다시 user를..

[Spring] 2023.01.15