728x90

Spring Security 5

6) 스프링 시큐리티(spring-security) 적용

스프링 시큐리티 적용 방법 이제 build.gradle Spring Security 의존성을 추가해준다. 프로젝트를 실행하니 처음 보는 security password가 콘솔에 찍히게 된다. implementation 'org.springframework.boot:spring-boot-starter-security' 임의로 localhost:8080/hello에 접근을 해보았다. 302 상태가 반환되며 localhost:8080/login으로 리다이렉트가 되었다. 위 로그인 화면은 Spring Security가 기본으로 제공해주는 화면이다. Username에 user, Password에 콘솔에 찍힌 문자열을 입력하면 정상적으로 localhost:8080/hello로 넘어가게 된다. 참고로 localhos..

5) 스프링 시큐리티(spring-security) 개요

스프링 시큐리티(Spring Security) 개요 Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. Spring Security는 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller사이에 위치한다는 점에서 적용 시기의 차이가 있다. Spring Security는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다. 아래 내용은 https://git..

CustomAuthenticationSuccessHandler와 CustomAuthenticationFailureHandler

: Security에서 지원하는 인증성공, 인증실패 핸들러를 상속한 클래스를 직접 커스텀하여 사용해보자. 1. 인증성공 핸들러 커스텀 2. 인증실패 핸들러 커스텀 3. config 설정 4. 익명클래스로 처리하는 방법 1. 인증성공 핸들러 커스텀 1. SimpleUrlAuthenticationSuccessHandler를 상속한 커스텀 클래스 CustomAuthenticationSuccessHandler를 만듭니다. 2. requestCache와 RedirectStragey를 사용하여 사용자가 인증 요청 성공시 이전에 접근하려 했던 자원(리소스)의 경로로 바로 보내기 위해서 설정해줍니다. 이전의 접근하려 했던 자원(리소스)가 없는 경우 null을 반환하도록 하여 setDefaultTargetUrl에 설정해..

Spring/Security 2023.02.18

(SpringSecurity) UserDetailsServices 활용

UserDetailsServices 활용 JDBC를 이용하는 방식으로도 DB를 처리해서 사용할수 있지만, 여러 정보들중 제한적인 내용만 이용 한다는 단점이 존재 이러한 문제를 해결하기위해 UserDetailsServices 인터페이스를 구현하는 방식을 이용하는것이 좋다. ( 원하는 객체를 인증과 권한 체크에 활용 할수 있기에 많이 사용된다) UserDetailsServices 인터페이스는 단 하나의 메서드만 존재한다. 가장 일반적으로 많이 사용되는 방법은 하위 클래스 중에서 org.springframework.security.core.userdetails.User 클래스 상속 하는형태이다. 커스텀 UserDetailsService를 이용하는 방식을 이용하기 위해선, MYbatis를 이용하는 MemberM..

Spring/Security 2023.02.14

스프링 시큐리티(Spring Security) 설정

스프링 시큐리티(Spring Security) 설정 추가1 security dependency 추가하기 pom.xml에 security와 관련된 의존성 추가 후 “Reload All Maven Projects”을 클릭하여 의존성을 받아온다. org.springframework.boot spring-boot-starter-security 스프링 시큐리티 설정 추가2 SecurityConfig 소스 작성 유저에게 선택적으로 권한요청이 가능 @Configuration @EnableWebSecurity // (1) public class SecurityConfig extends WebSecurityConfigurerAdapter { // (2) @Autowired MemberService memberServic..

Spring 2022.02.17
728x90