커스텀 User Detail 적용하기, 그리고 Custom Security 테스트 코드 #2
저번 포스팅에서 JWT의 인증 처리와 Spring Security Context에 인증 정보를 저장하여 @AuthenticationPrinciple을 Parameter로 주입받아 사용하는 것 까지 해보았다. 이번에는 커스텀한 Principle을 사용해 나만의 UserDetail을 ...
저번 포스팅에서 JWT의 인증 처리와 Spring Security Context에 인증 정보를 저장하여 @AuthenticationPrinciple을 Parameter로 주입받아 사용하는 것 까지 해보았다. 이번에는 커스텀한 Principle을 사용해 나만의 UserDetail을 ...
프로젝트를 하던 도중, 팀원이 인증시스템을 만들어 JWT 토큰을 발급하게 하였다. Servlet API의 Session을 사용하지 않고, 브라우저의 쿠키 만으로 로그인 세션을 가질 수 있게 되었다.
Spring으로 서버 사이드 렌더링을 할때 예외상황에서 리디렉트를 해야할 상황이 생긴다.
Spring Boot로 프로젝트를 하는 도중, Bean scope가 prototype인 Bean을 singleton bean에서 참조해야 할 일이 생겼다.
몇몇 테스트를 통해 JUnit 5 의 테스트가 어떻게 돌아가는지 근본적으로 파악해보자.
Spring Boot에서 application.properties 또는 .yml을 수정하여 logging에 관한 설정을 할 수 있다. 파일로 저장하는 logging.file 옵션이 존재하는데, 알아야 할 몇가지가 존재한다.
여기에서 계속된다.
우리 프로젝트 팀은 master, develop 두 브랜치를 공용으로 두고 기능별로 브랜치를 분기하여 Develop에 Merge 한 다음 live 서버가 배포되는 Master 브랜치에 Merge 하는 버전관리 전략을 도입했다.
애플리케이션의 코드가 업데이트 될때마다 매번 패키징하여 서버로 배포해야한다. 그러나 프로젝트에 관여하는 개발자가 많아지고 코드가 업데이트되는─PR이 진행되는─ 주기가 짧아진다면 반복되는 배포에 들이는 시간이 개발속도를 발목잡을 것이다.
Github Actions는 레포지터리에 변화가 생길때 마다 자동으로 빌드, 배포를 하는 도구를 제공한다. 빌드된 애플리케이션을 배포하기 위해서는 대상이 되는 서버로 접속이 되어야 하는데, 가장 많이 쓰이는 것 중 하나는 SSH 연결이다.
몇몇 테스트를 통해 JUnit 5 의 테스트가 어떻게 돌아가는지 근본적으로 파악해보자.
jekyll을 이용하여 블로그를 생성하고 싶다면 먼저 ruby 환경이 필요하다. 분명 jekyll 사이트에서는 준비에서 실행까지 몇초만에 끝난다고 하지만 ruby 환경이 없다면 전혀 그렇지 않다…
자바에서 동일한 스레드에서 값을 공유시켜주는 ThreadLocal 이라는 유용한 라이브러리가 존재한다. 이 말은 즉슨, 스레드 내에서 사용할 수 있는 전역변수라고 볼 수 있을 것이다.