본문 바로가기

Spring/Spring Security11

[Spring Security] Spring Session JDBC Spring Session JDBC란?Spring Session JDBC는 Spring 애플리케이션에서 세션 관리를 데이터베이스를 이용해 수행할 수 있도록 지원하는 라이브러리이다. 기본적으로 HTTP 세션은 서버의 메모리에 저장되지만, Spring Session JDBC를 사용하면 세션을 데이터베이스에 저장하여 여러 가지 이점을 얻을 수 있다.  Spring Session JDBC 의존성 추가 // 스프링 Session JDBCimplementation 'org.springframework.session:spring-session-jdbc' Spring Session 동작 확인 현재 나는 application.yaml 설정 파일에 h2 데이터베이스 관련 설정을 해두었다.  이렇게 세션 관련 테이블이 자동.. 2024. 9. 2.
[Spring Security] 시큐리티 폼 로그인 커스텀 설정 PasswordEncorder@Beanpublic PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder();} 비밀번호 암호화에 사용할 PasswordEncorder 빈 정의 PasswordEncorder 인터페이스는 14개의 구현체를 제공한다. BCryptPasswordEncorder는 BCrypt 알고리즘을 사용한다. 예전에 스프링 시큐리티 비밀번호 암호화 모듈인 Crypto와 그중에서 ScyptEncorder를 정리했는데 참고하면 좋다. https://20240228.tistory.com/160 비밀번호 암호화 적용하기(Spring Security Crypto)https://20240228.tistory.com/153 비밀번호.. 2024. 9. 2.
CSRF? + Spring Security 기본 설정 CSRF란 무엇인가? CSRF(Cross-Site Request Forgery, 크로스 사이트 요청 위조)웹 애플리케이션의 보안 취약점을 악용하여, 사용자가 원하지 않는 동작을 수행하게 만드는 공격 기법 중 하나이다.사용자가 웹사이트에 로그인한 상태에서 사용자의 권한을 악용해 공격자가 의도한 요청을 실행하도록 유도한다.  ex)특정 페이지에 방문할 때 저절로 로그아웃 or 게시글이 써지는 현상은행과 같은 사이트에서 다른 사람에게 송금하는 행동을 넣는 등 상황에 따라 크게 악용될 수 있는 심각한 공격이다. CSRF 공격의 작동 원리 1. 인증된 세션 사용자가 웹 애플리케이션에 로그인하면, 서버는 사용자에게 세션을 유지하기 위한 쿠키를 발급한다. 해당 쿠키는 사용자의 브라우저에 저장, 사용자가 해당 애플리케.. 2024. 8. 29.
비밀번호 암호화 적용하기(Spring Security Crypto) https://20240228.tistory.com/153 비밀번호 암호화목차암호화 종류단방향 암호화 방법단방향 암호화 문제점 개선 (+ Salt)단방향 암호화 문제점 개선 (+ Key Stretching)양방향 암호화 특징 참고 자료암호화 종류 암호화를 하는 이유는 해당20240228.tistory.com 최근에 비밀번호 암호화에 대해서 공부했었다. 그중에 단방향 암호화 라이브러리인 Spring Security Crypto를 사용해서 프로젝트에 적용해 보겠다.  라이브러리 Dependency 찾기 Maven Repository : Spring Security Crypto 검색   build.gradle  특정 버전 명시 Odependencies { implementation group: 'org.spr.. 2024. 8. 29.
JWT를 이용한 인증 JWT 공식 홈페이지 JWT.IOJSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.jwt.ioJWT 자바 라이브러리(jjwt-root) GitHub - jwtk/jjwt: Java JWT: JSON Web Token for Java and AndroidJava JWT: JSON Web Token for Java and Android. Contribute to jwtk/jjwt development by creating an account on GitHub.github.comInpa Dev JWT 토큰 인증 이란? (쿠키 vs 세션 vs 토큰)  🌐.. 2024. 8. 26.