DEV 39

[Spring Boot] 스프링 시큐리티(Spring Security) 개념과 기본 사용법

스프링 시큐리티가 무엇이고 어떤 흐름으로 동작하는지, 핵심 개념과 가장 기본적인 설정 코드를 간단히 정리했습니다.스프링 시큐리티란Spring Security는 인증(Authentication, 너는 누구냐)과 인가(Authorization, 너는 이걸 할 수 있냐)를 처리해주는 스프링 진영의 보안 프레임워크입니다. 로그인 처리, 세션 관리, 권한별 접근 제어 같은 걸 직접 다 구현하지 않고, 필터 체인 구조 위에 필요한 설정만 얹어서 쓸 수 있게 해줍니다.핵심 개념 3가지SecurityFilterChain: 요청이 컨트롤러에 도달하기 전에 거쳐가는 필터들의 묶음입니다. "어떤 URL은 로그인 없이 허용, 어떤 URL은 인증 필요" 같은 규칙이 여기서 정해집니다.AuthenticationManager: 아..

DEV/SpringBoot 2026.09.08

[SSO 프로젝트] JWT 토큰 생성기 직접 만들어보기 - JwtTokenProvider

JWT 기반 SSO(통합 로그인) 프로젝트를 진행하면서 토큰 발급/검증 로직을 직접 구현해봤습니다. jjwt 라이브러리로 만든 JwtTokenProvider 클래스를 간단히 정리했습니다.* Single Sign-On(싱글 사인온)JWT란JWT(JSON Web Token)는 헤더, 페이로드, 서명을 점(.)으로 이어붙인 문자열입니다. 서버가 로그인 성공 시 Access Token을 발급하면, 클라이언트는 이후 요청마다 이 토큰을 전송하고, 서버는 토큰의 서명을 검증하여 토큰의 유효성을 확인하고 사용자를 식별합니다.코드 javapublic class JwtTokenProvider { private final SecretKey secretKey; private final long validityMs..

DEV/SpringBoot 2026.09.07

[Spring Boot] ZXing으로 QR 코드 생성 API 만들기

개발 환경항목버전Java17Spring Boot4.1.1Spring Framework7.0.9Gradle9.7.1QR 라이브러리ZXing 3.5.3이번 포스팅은 Spring Boot로 QR 코드를 생성해서 이미지로 응답해주는 간단한 API를 만들어본 기록입니다. 텍스트나 URL을 입력하면 QR 코드 이미지(PNG)를 생성해서 돌려주는 구조입니다.1. build.gradle 의존성dependencies { // QR 코드 라이브러리 implementation 'com.google.zxing:core:3.5.3' implementation 'com.google.zxing:javase:3.5.3'}QR 코드 생성을 위해 필요한 의존성은 zxing의 core, javase 두 개입니다.core:..

DEV/SpringBoot 2026.08.31

[Jenkins] Ansible SSH등록😀

1. Jenkins서버에서 Ansible서버 접속 Jenkins서버에 접속한 상태 Ansible 서버에 접속한 상태 처음 접속이라 키를 만들건지 물어봄 (키 에러가 뜨면 해당 위치에 키를 삭제 후 다시 접속) Ansible 서버 패스워드 입력하면 접속 완료 2. Jenkins에 SSH등록 젠킨스 관리 클릭 시스템 설정 클릭 맨 아래로 내리면 SSH등록이 나옴 서버 패스워드 입력 Success가 뜨면 성공!

DEV/Jenkins 2022.12.29

[Jenkins] "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

1. 오류 확인 ansible all -m ping 입력하니까 권한이 없다고 나와서 당황당황(key를 줬었다고 착각🙄) 2. 해결법 rsa key를 해당 서버에 복사해서 주기(아래 링크 확인) https://han-developer.tistory.com/75 [Jenkins] rsa Key 생성 및 복사😀 1. 키 생성 1. ssh-keygen을 입력하면 rsa키가 생성됨 2. Enter in which to save the key : 생성한 키 위치 확인(엔터) 2. 패스워드 패스워드 입력(저는 그냥 패스😁) 3. 키 복사 ssh-copy-id root@복사키 받을 서버 IP han-developer.tistory.com ansible all -m ping입력해서 다시 확인 성공적으로 ping이 연결된..

DEV/Jenkins 2022.12.28