백엔드/Spring Security

[Spring Security] JWT 로그인 구현하기

목적 세션을 사용하지 않고 로그인을 구현하기 위함 목차 의존성 추가 UserDetails 생성 UserRepository 추가 UserDetailsService 생성 JWT유틸 클래스 추가 JWT필터 추가 스프링 시큐리티 설정 스프링 설정 컨트롤러 설정 Refresh Token을 활용한 JWT로그인의 구현은 아래 링크를 참조하면 되겠다. https://emgc.tistory.com/148 1. 의존성 추가 jwt 의존성을 추가해준다 아래는 gradle 기준이다. implementation 'io.jsonwebtoken:jjwt:0.9.1' 2. UserDetails 생성 스프링 시큐리티에서 관리하는 UserDetails타입의 객체를 생성해야한다. 기본 필드 및 메서드 외 필요한 것들은 추가해서 사용하면 ..

2021.06.25 게시됨

[Spring Security] Role Hierarchy 설정하기 포스팅 썸네일 이미지

백엔드/Spring Security

[Spring Security] Role Hierarchy 설정하기

목적 권한 계층구조를 만들어 효율적인 권한관리를 하기 위함 목차 기존 권한 계층구조의 문제점 설정 방법 1. 기존 권한 계층구조의 문제점 기본적으로 스프링 시큐리티에서 요구하는 방식은 위와같이 여러 권한이 Collection인터페이스에 담겨있는 형태이다. 권한이 ADMIN, MANAGER, USER 총 세 개가 존재한다고 가정해보자. 관리자의 경우엔 ADMIN, MANAGER, USER권한 세 개를 다 가져야 하고, 매니저의 경우엔 MANAGER, USER권한 두 개를 가져야 한다. 관리자가 ADMIN권한 한 개만 갖고 있다면, 어떠한 URL접근에 필요한 권한이 USER일때 관리자는 USER권한이 없기 때문에 접근할 수 없는 문제가 발생한다. 또한 서버에서도 권한설정을 할때 관리자까지 접근하도록 설정하려..

2021.06.24 게시됨

[Spring Security] DelegatingFilterProxy의 동작과정 포스팅 썸네일 이미지

백엔드/Spring Security

[Spring Security] DelegatingFilterProxy의 동작과정

목적 스프링 시큐리티의 DelegatingFilterProxy가 어떻게 스프링 필터체인과 함께 동작할 수 있는지 이해하기 위함 목차 스프링 필터의 동작과정 DelegatingFilterProxy의 동작과정 1. 스프링 필터의 동작과정 간단히 설명해서 ApplicationFilterChain이 갖고 있는 filter목록을 순회하며 filter를 순회하게 된다. 자세한건 이전 글을 참조하면 되겠다. 2. DelegatingFilterProxy의 동작과정 DelegatingFilterProxyBean을 필터로 등록하여 스프링 시큐리티에 등록된 필터를 호출하는 방식이다. 그림상으론 필터 실행 후 다음 필터가 실행되는 것처럼 나와있는데 실제론 해당 필터가 실행하고자 하는 로직이 끝나면 doFilter메서드 또는 ..

2021.06.12 게시됨

[Spring Security] 커스텀 필터 생성 시 'authenticationmanager must be specified' 포스팅 썸네일 이미지

백엔드/Spring Security

[Spring Security] 커스텀 필터 생성 시 'authenticationmanager must be specified'

목적 스프링 시큐리티의 커스텀 필터에서 authenticationManager를 주입하는 방법을 익히기 위함 목차 authenticationManager란? 'authenticationmanager must be specified' 발생 이유 'authenticationmanager must be specified' 해결 방법 1. authenticationManager란? authenticationManager는 authenticate라는 인증 메소드를 제공하는 인터페이스이다. Spring Security 동작원리 참조 ProviderManager가 authenticationManager를 구현하여 Provider를 돌면서 각 Provider의 인증 메소드를 실행하여 인증을 시도한다. 즉, 인증을 시도..

2021.05.02 게시됨

백엔드/Spring Security

[Spring Security] Spring Security 동작원리

목적 Spring Security의 기본적인 동작 원리 이해하여 활용도를 높이기 위함 목차 Spring Security란? Spring Security의 동작원리 Spring Security에서 사용되는 객체 1. Spring Security란? Spring Security is a Java/Java EE framework that provides authentication, authorization and other security features for enterprise applications. Spring Security는 엔터프라이즈 애플리케이션에 대한 인증, 권한 부여 및 기타 보안 기능을 제공하는 Java / Java EE 프레임 워크입니다. 간단하게 말해서 Spring 진영의 보안 관련 프..

2021.04.18 게시됨