본문 바로가기

STUDY

(287)
IntelliJ에서 여러 프로젝트 동시에 Run하기 멀티모듈로 진행하면서 계속 따로 실행했었는데, 알고보니 Compound를 이용해 한 번에 실행시킬 수 있다고 함.. Run -> Edit Configurations.. + 버튼 클릭 후 Compound 선택 +버튼으로 동시에 실행할 프로젝트 추가 끝! 정말 편하다
Spring Boot | spring-boot-starter-validation 의존성 추가 // Gradle implementation 'org.springframework.boot:spring-boot-starter-validation' // Maven org.springframework.boot spring-boot-starter-validation 자주 사용하는 어노테이션은 이정도가 있음.. @NotNull : 해당 값에 Null을 허용하지 않음 @NotBlank : Null을 허용하지 않으며 문자가 한 개 이상 포함되어야 함 (공백 제외) @NotEmpty : Null을 허용하지 않으며 공백 문자열을 허용하지 않음 @AssertTrue : true인지 확인 @Min : 값이 Min보다 작은지 확인 @Max : 값이 Max보다 큰지 확인 @Size : 값이 min과 max사이..
Spring Boot | Spring Security 한 유저에게 여러 Authority(ROLE) 부여하기 (UserDetails) UsernamePasswordAuthenticationToken에서 계속 에러가 발생해서 아예 싹 뜯어 고쳤다.. 현재 테이블 구조가 대충 이런식.. USERS테이블에 authority값을 두지 않고, authorities테이블을 따로 두어 참조하고 있음 CREATE TABLE `users` ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `password` varchar(500) DEFAULT NULL, `enabled` tinyint(4) DEFAULT NULL PRIMARY KEY (`id`) ) CREATE TABLE `authorities` ( `user_id` mediumint(9) DEFAUL..
Spring Boot | Spring Security OAuth2 (7) 토큰과 함께 다른 정보 응답 /oauth/token URI에 토큰값을 요청할 때 다른 데이터를 추가해서 응답을 받고자 한다. 1. CustomJwtTokenConverter 작성 JwtAccessTokenConverter를 상속받아 token을 발급할 때 다른 정보들을 추가한다. /* /oauth/token URI response에 토큰 발급과 함께 다른 정보들을 보낼 수 있게 함 */ public class CustomJwtTokenConverter extends JwtAccessTokenConverter { @Override public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { Map claims =..
인텔리제이 콘솔 한글 깨짐 수정 스프링 부트 사용하면서 Post메서드에서 한글이 깨지는 줄 알았는데... 아니었음... 참고로 스프링 부트의 기본 인코딩은 UTF-8입니다..(당연ㅠ) 암튼 그러다가 인텔리제이 자체의 문제라는걸 알았다.... 맥에선 이런 설정이 필요없었는데... 파일 하단에 밑의 코드를 작성한 뒤 인텔리제이 재 시 작 해줘야 함 -Dfile.encoding=UTF-8
Spring Boot | Spring Security OAuth2 (6) JWT KeyPair 키를 직접 발급해 키값으로 jwt를 해석 하는 방법으로 바꿔보기 1. KeyStore 생성 java에서 keytool이라는 KeyStore생성 툴을 제공하기 때문에 이것을 이용해 키를 발급한다. $ keytool -genkeypair -alias [키 별칭] -keyalg RSA -keypass [키 암호] -keystore [저장될 파일명] -storepass [파일의 암호] 그리고 public key값을 확인 $ keytool -list -rfc --keystore [저장 파일명] | openssl x509 -inform pem -pubkey ----BEGIN PUBLIC KEY----부분부터 ----END PUBLIC KEY----부분까지 복사 2. KeyStore등록 우선 Authenticatio..
Spring Boot | Spring Security OAuth2 (5) 서버 나누기 (Multi Module) ResourceServer와 AuthorizationServer를 따로 만들어보자...! 1. ResourceServer생성 따로 프로젝트를 생성해서 만들어도 되고 멀티 모듈로 만들어도 된다.. Spring Boot | 멀티 모듈 프로젝트 (Multi Module) OAuth2를 하다가.. 리소스 서버와 인증 서버를 따로 두기 위해... 고민하던 중 멀티 모듈이라는 것이 있다길래 해봤습니다.. 참고! Gradle 멀티 프로젝트 관리 안녕하세요! 이번 시간에는 아시는 분들 gaemi606.tistory.com 위의 글을 따라서 멀티 모듈 프로젝트를 생성 혹은 변환 할 수 있음! DBServer -> module-jdbc ResourceServer -> module-api AuthorizationServer..
Spring Boot | 멀티 모듈 프로젝트 (Multi Module) OAuth2를 하다가.. 리소스 서버와 인증 서버를 따로 두기 위해... 고민하던 중 멀티 모듈이라는 것이 있다길래 해봤습니다.. 참고! Gradle 멀티 프로젝트 관리 안녕하세요! 이번 시간에는 아시는 분들은 거의다 아시는(!?) Gradle을 이용한 멀티 프로젝트(모듈) 관리에 대해 소개하려고 합니다. 모든 코드는 Github에 있으니 참고하셔서 보시면 더 좋으실 것 jojoldu.tistory.com 1. 프로젝트 생성 스프링 이니셜라이저 혹은 다양한 방법으로 스프링 부트 프로젝트를 생성하면 된다. 나는 스프링 이니셜라이저를 이용했음! 그리고 1번에서 생성한 프로젝트가 루트 프로젝트가 된다. SpringBoot 2.4.2 Gradle IntelliJ (커뮤니티 버전) Java11 2. 모듈 생성 세..