"꾸준하고 완벽한 한 걸음"

Backend/Spring Security 6

개발자 유미 - 스프링 시큐리티 6. DB 연결

스프링 시큐리티 6 : DB 연결 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 데이터베이스의 필요성로그인한 사용자의 인증을 위해서는 회원 정보를 저장해야한다.이를 위해서는 DB가 필요하며 JPA를 사용해 DB 쿼리문을 쉽게 생성할 수 있다.build.gradle 설정프로젝트에 MySQL 및 JAP 의존성을 추가 후 리프레쉬 후 필요한 파일을 다운받고 활성화를 해주자.dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.mysql:mysql-connector-j'}application.properties 설정스프링 서버에서 DB에 ..

개발자 유미 - 스프링 시큐리티 5. BCrypt 암호화 메소드

스프링 시큐리티 5 : BCrypt 암호화 메소드 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 단방향 해시 암호화로그인을 통한 사용자 인증 시 사용자의 비밀번호에 대해 단방향 해시 암호화를 진행해야 한다.이를 통해 비밀번호의 유출로부터 안전해지고, 복호화가 불가능해 보안을 지킬 수 있다.스프링 시큐리티는 비밀번호의 암호화를 위해 BCrypt Passwrod Encoder를 사용하는 것을 권장한다.BCrypt Passwrod Encoder 반환 빈 등록BCrypt Passwrod Encoder를 반환하는 메소드를 만들고, 빈으로 등록하자.package com.example.testsecurity.config;import org.springframework.context...

개발자 유미 - 스프링 시큐리티 4. 커스텀 로그인 설정

스프링 시큐리티 4 : 커스텀 로그인 설정 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 기존의 Config 설정을 다시 확인해보자. @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((auth)->auth .requestMatchers("/", "/login").permitAll() .requestMatchers("/admin").hasRole("ADMIN") ..

개발자 유미 - 스프링 시큐리티 3. Security Config 인가 작업

스프링 시큐리티 3 : Security Config 인가 작업 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 인가특정 경로 요청시 Controller보다 앞서 Filter에서 Spring Security가 다음과 같은 검증을 진행허용된 접근 경로인지(로그인을 통해)인가 된 사용자인지접근에 필요한 권한을 가지는지 검증 SecurityConfing.java 생성/config/SecurityConfing.javapackage com.cos.testsecurity.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;imp..

개발자 유미 - 스프링 시큐리티 2. 프로젝트 생성

스프링 시큐리티 2 : 프로젝트 생성 개발자 유미 | 커뮤니티 개발자 유미 | 커뮤니티 www.devyummi.com 프로젝트 생성필수 의존성Spring WebLombokMustacheSpring SecuritySpring Data JPAMySQL Driverstart.spring.ioMainController.java 생성/controller/MainController.javapackage com.example.testsecurity.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class MainContro..

개발자 유미 - 스프링 시큐리티 1 : 실습 목표 및 간단한 동작 원리

https://www.youtube.com/watch?v=y0PXQgrkb90&list=PLJkjrxxiBSFCKD9TRKDYn7IE96K2u3C3U&index=1  ⛳ 목표Spring Security를 활용한 인증/인가 구현MySQL을 활용한 회원 정보 저장(영속성)구현 기능인증 : 로그인 기능 구현인가 : 경로별 접근 권한 설정회원가입 : 회원 정보 저장 시큐리티 동작 원리Client의 요청 발생Servlet Container가 요청을 받고 여러 개의 Filter를 거쳐 컨트롤러에 도달Spring Security를 활성화하면 Filter에서 요청을 가로챔Filter에서 인증 인가 확인 후 최종적으로 접근 허용 실습 버전Spring Boot 3.1.5Security 6.1.5Spring Data JPA..