Java/Spring
-
Jasypt 란?Jasypt 홈페이지에서 아래와 같이 설명한다.Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works.Jasypt는 개발자가 암호화 작동 방식에 대한 깊은 지식이 없어도 최소한의 노력으로 프로젝트에 기본 암호화 기능을 추가할 수 있는 자바 라이브러리입니다.쉽게 말해 Java 프로젝트 내에 작성된 .properties 파일(설정 파일) 등을 암호화 하기 위한 Java 라이브러리이다. 구성 ..
.properties 데이터 암호화 - jasypt 암호화Jasypt 란?Jasypt 홈페이지에서 아래와 같이 설명한다.Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works.Jasypt는 개발자가 암호화 작동 방식에 대한 깊은 지식이 없어도 최소한의 노력으로 프로젝트에 기본 암호화 기능을 추가할 수 있는 자바 라이브러리입니다.쉽게 말해 Java 프로젝트 내에 작성된 .properties 파일(설정 파일) 등을 암호화 하기 위한 Java 라이브러리이다. 구성 ..
2023.01.30 -
웹브라우저 쿠키(Cookie)란?웹브라우저 쿠키란 인터넷 사용자가 웹사이트를 접속했을 때 사용자의 개인장치에 방문 기록 등브라우저의 정보들이 저장된 텍스트 파일이다.쿠키의 데이터 형태는 Key, Value 형태로 String 형이며, 4KB 이상 저장이 불가능하다. 이러한 웹브라우저 쿠키를 이용해 인터넷 사용자의 아이디를 쿠키에 저장해놓고저장된 아이디를 불러와 재사용할 수 있다. 특정 웹사이트에서 로그인할 때 자주 볼 수 있는 아이디 저장하기 기능을 구현해보자. 환경구성 : Spring Boot, Spring Security(로그인 기능), Thymeleaf(템플릿 엔진) 1. CookieUtils 클래스 생성아래 내용과 같이 CookieUtils 라는 클래스를 생성한다.public class Cooki..
[Spring Security] 로그인 시 아이디 저장하기 기능 구현(Cookie)웹브라우저 쿠키(Cookie)란?웹브라우저 쿠키란 인터넷 사용자가 웹사이트를 접속했을 때 사용자의 개인장치에 방문 기록 등브라우저의 정보들이 저장된 텍스트 파일이다.쿠키의 데이터 형태는 Key, Value 형태로 String 형이며, 4KB 이상 저장이 불가능하다. 이러한 웹브라우저 쿠키를 이용해 인터넷 사용자의 아이디를 쿠키에 저장해놓고저장된 아이디를 불러와 재사용할 수 있다. 특정 웹사이트에서 로그인할 때 자주 볼 수 있는 아이디 저장하기 기능을 구현해보자. 환경구성 : Spring Boot, Spring Security(로그인 기능), Thymeleaf(템플릿 엔진) 1. CookieUtils 클래스 생성아래 내용과 같이 CookieUtils 라는 클래스를 생성한다.public class Cooki..
2023.01.16 -
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