ep.11 로그인 기능 구현 - Spring Security + JWT
·
개발/Team Project
하 이번 작업은 정말 너무 힘들었다. 기간도 오래 걸렸고 아직도 공부해야 할 것들이 산더미처럼 쌓여있다. 그래도! 기능은 잘 작동하니... 머릿속에서 휘발되기 전에 포스팅을 작성하며 기록해두고 하나씩 리팩토링 하면서 나의 지식으로 만들어야겠다.... 로그인 기능 구현과 JWT 생성 관련해서는 이전 포스팅에서 다루었으니 이번에는 Access Token 생성과 로그아웃 기능에 대해 작성해보겠다. SpringBoot와 Security, JWT 작업을 하고자 하는 분은 하나씩 천천히 읽으면서 따라오시길 바란다. (잘못 이해하고 있거나 수정이 필요한 부분이 있다면 가감 없는 조언과 함께 의견을 댓글로 달아주십시오. 겸허하게 받아들이고 더욱 공부하겠습니다. 미리 감사의 인사를 드립니다...) Spring Secur..
ep10. 로그인 기능 구현 (feat. SpringSecurity 초기 설정 + JWT 생성)
·
개발/Team Project
회원가입 기능 구현이 완료되었으니 이제 로그인 기능을 구현해보려 한다. 이 포스팅을 작성하면서 SpringSecurity에 대한 기본적인 개념과 인증, 인가에 대한 공부를 살짝... 아주 살짝 했다. 이번 포스팅에서는 기본적인 로그인 기능 구현과 Spring Security 초기 설정, JWT 생성하는 부분까지 작성해보려 한다. Spring Security 초기설정부터 작성해 보겠다.SpringSecuriry 초기 설정1. 의존성 주입 (build.gradle.kts)implementation("org.springframework.boot:spring-boot-starter-security") 의존성 주입 후 SpringApplication을 실행시켜 보면 로그인 창이 뜨면서 홈페이지로 접근이 안된다. ..
ep.09 비밀번호 암호화 (Bcrypt)
·
개발/Team Project
보안은 언제든 뚫릴 수 있기에 항상 대비를 해야 한다. 개인정보를 이용해 사기 범죄를 일삼는 조직도 있고, 보이스피싱, 스미싱 등 많은 범죄가 개인정보를 이용한 것이기에 항상 대비해야 한다. 이번 작업을 통해 보안에 대해 더 공부하게 되어 좋았고 백엔드 개발자로서 항상 경각심을 가지고 작업을 해야겠다는 생각이 들었다. 이번 포스팅에서는 회원가입 시 유저가 입력한 비밀번호를 암호화하는 작업을 다뤄보겠다.암호화암호화란 평문을 암호문으로 바꾸는 행위이다. 반대로 암호문을 평문으로 바꾸는 행위는 복호화라고 한다.암호화는 아주 기본적인 정보 보안 방법으로, 데이터가 유출되는 것 자체를 막지는 못하지만 데이터가 어떤 정보를 담고 있는지 모르게하는데에 의미가 있다. 사용자의 비밀번호와 같은 중요한 정보는 다른 사람이..
[Spring Security] 기본 개념과 구조
·
개발/Spring
https://spring.io/projects/spring-security Spring SecuritySpring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authentication and authorizspring.io1. 사용자 정의가 가능한 인증 및 액세스 제어 프레임워크이다.2. 자바 애플리케이션에 인증과 인가를 제공하는 데 중점을 둔 프레임워크..
ep08. 본인인증 (SpringBoot + Coolsms + Redis)
·
개발/Team Project
이번 포스팅에서는 본인인증에 대해 작성해보려고 한다. Coolsms + Redis 조합으로 작업했으며 인증문자 발송부터 인증까지 상세하게 작성해 보도록 하겠다.  본인인증특정한 방법을 통하여 특정인이 본임임을 증명하는 방법재능 공유, 경험 공유, 중고거래 장터 이용 등 팀 프로젝트 컨셉에 따라 회원가입을 할 때 본인에 대한 인증이 필수다. 개인 연락처를 입력하게 하고 인증번호를 전송하여 확인을 통해 본인 인증을 하는 방식을 선택했다. 문자 인증 API를 찾아보고 제일 저렴하고 레퍼런스(기술 블로그)가 많은 coolSMS를 선택하였다. 사이트에 접속하여 회원가입을 하고 개발/연동 배너에서 API key를 생성한다. 시뻘건 글씨로 안내되고 있듯 key는 절대로 외부에 공개되면 안 된다.CoolSMS1. 기본..
ep.05 Thymeleaf 설정 & GitHub를 이용한 프로젝트 공유
·
개발/Team Project
Thymeleaf SpringBoot는 JSP를 대체할 수 있는 다양한 뷰 템플릿 엔진을 지원한다. Thymeleaf, FreeMarker, Groovy, Mustache 등이 있으며 이러한 엔진들은 SpringBoot의 자동 구성 기능과 통합되어 개발의 편의성과 어플리케이션의 유지보수성을 높일 수 있다.* 템플릿 엔진은 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어이다. 하나의 예시로 회원의 정보를 화면에 나타내고 싶을 때 "이름: 홍길동, 나이: 19" 이와 같이 기재한다면 회원 정보가 변경될 때마다 수정해줘야한다. 이때, 태그에 text라는 속성과 값을 할당해주고 서버에서 이름과 나이라는 key를 이용하여 데이터를 템플릿에 넘겨준다. 템플릿 엔진은 이를 받아 HTML에 값..
ep.04 Git, GitHub(.gitignore), Dotenv(.env)
·
개발/Team Project
Gitgit에 대한 개념을 이해하기 위해서는 형상관리에 대해 먼저 알아야 한다.형상관리 (Software Configuration Management)    - 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것.    - 어떠한 문서나 파일이 변경된 경우, 그 내용과 원인을 기록하여 히스토리 관리하는 것을 말한다.    - 형상관리 종류로는 CVS(Concurrent Version System), SVN(SubVersion), Git이 있다.gitgit 공식 홈페이지에 이렇게 정의되어 있다.Git은 소규모 프로젝트부터 대규모 프로젝트까지 모든 것을 빠르고 효율적으로 처리하도록 설계된 무료 오픈 소스 분산 버전 제어 시스템입니다.Git은 배우기 쉽고 매우 빠른 성능을 갖춘 작은 설치 공간을 가지고 있..
ep02. 프로젝트 셋업(feat. Spring Initializr)
·
개발/Team Project
프로젝트 셋업SpringBoot를 사용하여 프로젝트를 진행하고자 새로운 프로젝트를 생성하고자 한다. 필자는 spring initializr를 사용했다.Spring Initializr란??- SpringBoot를 기반으로 프로젝트를 생성해주는 사이트이다.- 프로젝트를 보다 쉽게 생성할 수 있게 도와준다.> Spring Initializr 위의 링크에 들어가면 아래와 같은 사이트가 나올것이다. (필자가 원하는 대로 선택, 기입한 상태이다.)Project: SpringBoot를 빌드하고 배포하는 방식이다.Language: 사용하고자하는 언어를 선택하면 된다.Spring Boot: 원하는 버전을 선택하면 된다. (SNAPSHOT은 데모버전. 버전이 높을수록 레퍼런스가 적다.)Group: 프로젝트의 도메인명을 기..
김현중 (keemhing)
'springboot' 태그의 글 목록