Spring27 [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. 스프링 부트 프로젝트 빌드 빌드하는 방법프로젝트 루트 경로에서./gradlew build ./gradlew clean build clean build vs build 차이점 gradlewGradle Wrapper의 약자로, Gradle Wrapper 스크립트를 실행하는 것프로젝트에 Gradle이 설치되어 있지 않더라도 Gradle Wrapper를 사용하면 해당 프로젝트에 설정된 Gradle 버전으로 빌드를 수행할 수 있다../는 현재 디렉토리에 있는 gradlew 스크립트를 실행하라는 의미 cleanclean 태스크는 빌드 디렉토리를 삭제하는 역할을 한다. 보통 프로젝트의 루트 디렉토리에 build/라는 이름의 디렉토리가 생성되며, 이 디렉토리 안에 모든 빌드 산출물이 저장된다.clean 명령을 실행하면 build/ 디렉토리.. 2024. 8. 24. 유틸리티 클래스 & 설계 방식 Math 클래스public final class Math { // Private constructor to prevent instantiation private Math() {} // Static utility methods public static int add(int a, int b) { return a + b; } public static double sqrt(double value) { return java.lang.Math.sqrt(value); } // More utility methods...}package java.lang;Math 클래스는 final로 선언되어 있어 상속할 수 없다.생성자가 private로 선언되어 있어,.. 2024. 8. 21. 이전 1 2 3 4 5 다음