Spring boot
-
Spring Security를 사용하여 커스텀 필터를 생성하지 않고 로그인 인증을 진행할때 AbstractAuthenticationProcessingFilter 를 상속받은 UsernamePasswordAuthenticationFilter 에 의해 진행된다.본인은 AbstractAuthenticationProcessingFilter 를 직접 상속받아 커스텀 필터를 만들었다. 특정 계정이 로그인 되어 있는 상황에서 다른 브라우저에서 로그인을 진행하면 최대 세션 개수에 의해 로그아웃이 진행되었어야 했다. 설정은 아래와 같다.maximumSession(1) 설정에 의해 최대 세션 개수는 1개이고 maxSessionsPreventsLogin(false) 로이전 사용자 만료 설정으로 설정했다.이전 사용자 만료 설..
Spring Security ConcurrentSessionControlAuthenticationStrategy 설정(동시세션제어 설정)Spring Security를 사용하여 커스텀 필터를 생성하지 않고 로그인 인증을 진행할때 AbstractAuthenticationProcessingFilter 를 상속받은 UsernamePasswordAuthenticationFilter 에 의해 진행된다.본인은 AbstractAuthenticationProcessingFilter 를 직접 상속받아 커스텀 필터를 만들었다. 특정 계정이 로그인 되어 있는 상황에서 다른 브라우저에서 로그인을 진행하면 최대 세션 개수에 의해 로그아웃이 진행되었어야 했다. 설정은 아래와 같다.maximumSession(1) 설정에 의해 최대 세션 개수는 1개이고 maxSessionsPreventsLogin(false) 로이전 사용자 만료 설정으로 설정했다.이전 사용자 만료 설..
2022.12.27 -
Spring Security 에서 세션 제어를 위해 인증 api를 추가해줘야 한다. 아래와 같이 HttpSecurity 의 .sessionManagement() 를 사용해 세션 관리 기능이 동작한다. @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest() .authenticated() .and() .formLogin() .and() .sessionManagement() .maximu..
Spring Security 정리하기 (#3 세션 제어)Spring Security 에서 세션 제어를 위해 인증 api를 추가해줘야 한다. 아래와 같이 HttpSecurity 의 .sessionManagement() 를 사용해 세션 관리 기능이 동작한다. @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest() .authenticated() .and() .formLogin() .and() .sessionManagement() .maximu..
2022.12.23 -
Spring Security 에서 인증이 되지 않은 사용자는 다른 페이지로 이동을 시도할 경우 로그인 페이지로 리다이렉트 됩니다. 사용자가 로그인 정보를 입력하고 로그인을 시도한다. 인증이 될 경우 Authentication 이라는 인증 토큰을 생성하고 해당 토큰을 Security Context 및 세션에 저장한다. 사용자가 요청을 하게 되면 Spring Security 는 세션에 저장된 인증토큰을 확인하여 인증된 사용자라고 판단하여 요청에 대한 응답을 하게 된다. @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure..
Spring Security 정리하기 (#2 Form Login 구현)Spring Security 에서 인증이 되지 않은 사용자는 다른 페이지로 이동을 시도할 경우 로그인 페이지로 리다이렉트 됩니다. 사용자가 로그인 정보를 입력하고 로그인을 시도한다. 인증이 될 경우 Authentication 이라는 인증 토큰을 생성하고 해당 토큰을 Security Context 및 세션에 저장한다. 사용자가 요청을 하게 되면 Spring Security 는 세션에 저장된 인증토큰을 확인하여 인증된 사용자라고 판단하여 요청에 대한 응답을 하게 된다. @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure..
2022.12.21 -
아래 내용은 인프런 정수원님의 강의를 듣고 정리하는겸 적은 글입니다. https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0 스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security - 인프런 | 강의 초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과 www.inflearn.com Spring Boot 에서 Spring Security 를 사용하기 위해 아래와 같이 pom.xml에 의존성을 추가..
Spring Security 정리하기 (#1 사용자 정의 보안 기능 구현)아래 내용은 인프런 정수원님의 강의를 듣고 정리하는겸 적은 글입니다. https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0 스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security - 인프런 | 강의 초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과 www.inflearn.com Spring Boot 에서 Spring Security 를 사용하기 위해 아래와 같이 pom.xml에 의존성을 추가..
2022.12.21 -
환경구성 : Spring Boot, Thymeleaf, Maven 일반 게시판 회원가입 기능 구현 과정에서 인증에 필요한 이메일 인증 기능을 해보려고 한다. 1. Spring Boot mail dependency 추가 Spring Boot 에서 사용할 mail 라이브러리를 pom.xml 에 추가해준다. pom.xml 에 태그 사이에 아래 내용을 추가한다. org.springframework.boot spring-boot-starter-mail 위 내용 추가 후 라이브러리 추가를 위해 Maven Update 실행한다. 해당 프로젝트 마우스 오른쪽 클릭 > Maven > Update Project... 클릭 > OK 클릭 2. 메일 발송을 위한 GMAIL 가입 및 설정 메일발송을 위한 메일서버가 필요하다. ..
이메일 인증 회원가입 기능 만들기환경구성 : Spring Boot, Thymeleaf, Maven 일반 게시판 회원가입 기능 구현 과정에서 인증에 필요한 이메일 인증 기능을 해보려고 한다. 1. Spring Boot mail dependency 추가 Spring Boot 에서 사용할 mail 라이브러리를 pom.xml 에 추가해준다. pom.xml 에 태그 사이에 아래 내용을 추가한다. org.springframework.boot spring-boot-starter-mail 위 내용 추가 후 라이브러리 추가를 위해 Maven Update 실행한다. 해당 프로젝트 마우스 오른쪽 클릭 > Maven > Update Project... 클릭 > OK 클릭 2. 메일 발송을 위한 GMAIL 가입 및 설정 메일발송을 위한 메일서버가 필요하다. ..
2022.11.17 -
Spring Boot 에서 외부 classpath 에 있는 properties 파일이나 .yml 파일에서 설정값이나 데이터를 불러와야할 떄가 있다. 이때 사용하는게 @Value 어노테이션이다. 1. properties 파일 생성하기 로그인 암호화나 공통적으로 사용해야할 데이터를 설정하기 위해 *.properties 파일을 생성한다. // baram.properties 내부 login.password.enc.type=SHA-256 2. application.properties 파일 또는 application.yml 에 config 설정하기 생성한 .properties 파일을 application.yml 에 "해당 파일을 config 파일입니다" 라고 설정해서 알려줘야 한다. spring: profiles:..
외부 .properties, .yml 파일 주입해서 사용하기(@Value)Spring Boot 에서 외부 classpath 에 있는 properties 파일이나 .yml 파일에서 설정값이나 데이터를 불러와야할 떄가 있다. 이때 사용하는게 @Value 어노테이션이다. 1. properties 파일 생성하기 로그인 암호화나 공통적으로 사용해야할 데이터를 설정하기 위해 *.properties 파일을 생성한다. // baram.properties 내부 login.password.enc.type=SHA-256 2. application.properties 파일 또는 application.yml 에 config 설정하기 생성한 .properties 파일을 application.yml 에 "해당 파일을 config 파일입니다" 라고 설정해서 알려줘야 한다. spring: profiles:..
2022.11.11