• Spring Security로 Security 서비스 구축하기 2

    앞선 포스트에서는 SpringSecurity에서 인증을 할 수 있도록 관련 클래스를 정의하고 테스트를 해보았다. 이번 포스트는 사용자가 가지고 있는 Role 을 기반으로 접근 권한이 있는지 없는지 확인하는 Voter 를 만들어 테스트할 것이다. 사용자 오브젝트가 권한을 가지도록 변경 User Class에 roles 필드 추가 package cothe.security.core.domain; @Entity @Getter @NoArgsConstructor @AllArgsConstructor @Builder public class User...


  • Spring Security로 Security 서비스 구축하기 1

    업무 시스템든 웹 서비스든 접근권한 관리 모듈은 필수 구성요소이다. 스프링 시큐리티는 인증과 접근권한 체크를 할 수 있는 클래스가 개발되어 있다. 그러나 실 도메인에서 사용하는 인증 방법과 접근권한체크 방법은 다양하기 때문에 가장 일반적인 방법으로 처리 할 수 있도록 구현되어있다. 여기서는 스프링시큐리티에 개발된 클래스들을 기반으로 사용자관리, 접근권한 관리를 할 수 있는 서비스를...


  • Visual Studio Code를 Markdown Editor로 사용하기

    jekyll로 blog를 작성하기 편리하도록 Visual Studio Code 에 플러그인과 약간의 설정변경을 하였다. 개인적으로 마크다운 문서편집기로서 원하는 사항은 3가지 정도이다. markdown 문서 실시간 미리보기 단축키로 텍스트 모양 변경 클립보드에 저장한 스크린샷을 단축키로 붙여놓으면 jekyll의 이미지 저장소인 /assets 디렉토리에 post 별로 이미지 자동 저장 1. 실시간 미리보기 Visual Studio Code가 업데이트 되면서...


  • Cloud Native Java 따라하기 1

    클라우드 네이티브 자바를 보면서 필요한 부분을 따라해본 코드를 간단한 코멘트와 함께 공유하고자 한다. 스프링부트와 클라우드 파운드리 소개 스프링 부트 클라우드 네이티브 애플리케이션이란 클라우드 기반의 운영 환경에서 동작하도록 설계된 애플리케이션을 말한다. 스프링 부트를 사용하면 최소한의 설정만으로 실제 운영 환경에서 사용 가능한 수준 의 스프링 애플리케이션을 만들 수 있다. 스프링 이니셜라이저 스프링...


  • Spring Security Reference 따라하기 4

    지금까지 두서없이 레퍼런스에 있는 코드를 활용해서 로그인, 로그아웃 기능을 구현해봤다. 이쯤에서 레퍼런스에 주요한 내용을을 살펴보고 원래 만들고자 했던 권한관리시스템을 점차 구현하고자 한다. 레퍼런스를 필요한 부분을 추려서 번역했고 필요한 경우 javadoc의 원문을 포함했다. 또한 참조할 만한 코드를 필요한 지점에 적절히 삽입하였다. 기술 개요 핵심 콤포넌트 SecurityContextHolder, SecurityContext, Authentication Object SecurityContextHolder는 Spring-security-core...