보통 로그인부를 직접 만들어 써도 되지만Spring 에는 security 라는 아주 좋은 인증 기능이 있기 때문에 보통 이것을 사용해왔다. 최근 security 쪽 코드를 개선하다가 사용법을 남겨보려고 한다. Springboot gradle 에 관련 라이브러리를 작성합니다.설정에 필요한 라이브러리만 일단 작성해줍시다.implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'org.springframework.boot:spring-boot-starter-security'implementation 'org.springframework.boot:spring-boot-starter-data-jpa'compileOnly..
서비스를 무중단으로 운영하려다 보니 서비스는 무중단으로 알게모르게 패치가 적용되었지만 로그인 한 사용자들은 세션정보가 이전 was에 남아있기 때문에 재로그인을 할 수 밖에 없는 상황에 빠지게 된다. 그래서 세션을 spring session + redis 를 이용하여 세션을 redis에 담아보려 한다. 먼저 redis를 도커를 이용해 설치해줍시다. docker run -d --name redis -p 6379:6379 -v redis:/data redis:6.2.11-alpine 위와 같이 redis 도커 이미지를 컨테이너에 구동시켰습니다. 그리고 redis-cli를 이용하여 비밀번호를 설정해줍니다. docker exec -it redis /bin/sh /data # redis-cli 127.0.0.1:6..
JPA를 꾸준히 이용하며 학습중인데 이번에 테이블 연관관계를 설정하다가 복합키테이블을 연관지을일이 생겼다. 내 머리속으로 이해한데로 엔티티를 구성하고 테스트 쿼리를 수행했으나... 조인들이 제대로 걸리지 않았다. 그래서 무언가 복합키 상황일때 엔티티간 연관관계를 잘못 구성했는가 싶어 예제 테이블 만들어 다시 처음부터 구성해봤다. 테이블 구조는 아래와 같다. 사용자 정보가 있는 Users 테이블이 있고 권한정보가 있는 Roles 테이블이 있다. 그리고 유저에게 할당된 권한정보가 있는 UserRoles 테이블이 있다. UserRoles는 Users의 키와 Roles의 키를 포함하는 식별관계이다. UserRoles 엔티티의 키값이 2개가 되어 일반 엔티티를 구성할 수 없다. 이런 복합키를 가진 엔티티를 구성하..
지난번 이클립스(STS)와 인텔리제이에서 QueryDSL Q클래스를 생성해서 잘 동작하는 것을 확인했었다. [SpringBoot] QueryDSL Q클래스 생성하기 : annotationProcessor 방식 (feat.intelliJ) [SpringBoot] QueryDSL Q클래스 생성하기(feat.intelliJ) 지난번 STS (이클립스) 에서 QueryDSL을 설정했었다. [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅 jong-bae.tistory.com 프로젝트를 전체 구동시킬때는 querydsl 이 동작하는데는 ..
JPA를 사용하면서 show-sql 과 format_sql 옵션으로 쿼리 로그를 사용하고 있는데 프로젝트 중 mybatis 도 일부 사용하고 있어 여기도 쿼리로그를 남기기위해 어떻게 할까 고민하던 중 p6spy 쿼리로깅을 찾게 되었다. 찾아보니까 아래와 같이 3가지 방법으로 설정할 수 있었다. # Datasource 방식 / URL연결 방식 implementation 'p6spy:p6spy:3.9.1' # SpringBoot 자동설정 방식 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.1' URL 연결 방식은 예전에 쿼리 로깅을 적용했던 log4jdbc 와 비슷한 구조로 설정할 수 있다. spring: datasource: ..
지난번 STS (이클립스) 에서 QueryDSL을 설정했었다. [SpringBoot] QueryDSL Q클래스 생성하기 : 플러그인 방식 (feat.STS) [SpringBoot] QueryDSL Q클래스 생성하기(feat.STS) JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅해봄. SPRING DATA JPA 레퍼런스에 queryDSL이 언급은 되는데 설정하는 방법 같은 건 딱히 없어서 블로그들 참고하여 셋팅해봄. 먼저 build. jong-bae.tistory.com 이번에 인텔리J로 같은 프로젝트 import 해서 진행하다보니 gradle 설정을 약간 조정해줘야 했다. 그래서 간단히 그 부분만 작성하도록 한다. 위 링크에 있는 이클립스 설정대로 IntelliJ 에..