[매주 일요일은, “혼자만의 시간을 가지며, 한 주를 회고하는 날입니다.”]
이번 7주 차에 배운 키워드
- Spring Security
- JWT 로그인, 회원가입
Spring Security
Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. Spring Security는 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller사이에 위치한다는 점에서 적용 시기의 차이가 있다. Spring Security는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있다.
JWT(Json Web Token)
JWT(Json Web Token)은 웹표준(RFC7519)로서 일반적으로 클라이언트와 서버, 서비스와 서비스 사이 통신 시 권한 인가(Authorization)을 위해 사용하는 토큰이다.
HEADER.PAYLOAD.SIGNATURE
일반적으로 헤더, 페이로드, 서명 세 부분을 점으로 구분하는 구조로 되어있다.
헤더에는 토큰 타입과 해싱 알고리즘을 저장하고
페이로드에는 실제로 전달하는 정보,
서명에는 위변조를 방지하기위한 값이 들어가게된다.
참고자료
- Spring Security : 출처: https://mangkyu.tistory.com/76 [MangKyu's Diary:티스토리]
- JWT 로그인 : https://velog.io/@shinmj1207/Spring-Spring-Security-JWT-%EB%A1%9C%EA%B7%B8%EC%9D%B8
, https://shinsunyoung.tistory.com/110
- Spring Security와 JWT 같이 볼 만한 참고자료
https://velog.io/@shinmj1207/Spring-Spring-Security-JWT-%EB%A1%9C%EA%B7%B8%EC%9D%B8
항해99 7주 차를 해보고 나서 느낀 점
이번 주는 클론 프로젝트 하는 주차이다. 기존의 웹사이트를 그대로 구현하는 프로젝트이다.
이번에 내가 맡은 역할은 로그인, 회원가입 기능이다. 처음하는 거라서 그리고 어렵다고 수없이 들은 기능이라서 많이 겁이 났었다. 그리고 역시나 쉽지 않았다. 일단 코드부터 너무 많고 한줄한줄 이해하기가 어려웠었다. 그래서 혼자서는 못하고 그 전주차에 로그인 기능을 구현하신 Spring동기분들께 이것저것 많이 물어보면서 로그인 기능을 구현했다.
다른 사람의 것을 복사, 붙여넣기 하면서 해서 이게 나에게 도움이 되는걸까라는 생각을 많이 하게 되었던 주이다. 뭔가 의욕도 떨어지고 이게 맞나?라는 생각을 계속 했다. 클로프로젝트가 이때까지 한 프로젝트 중에서 가장 힘이 들었던 거 같다.
'Weekly I Learned' 카테고리의 다른 글
WIL_항해99_9주차 (실전 프로젝트 2주 차) (0) | 2022.07.10 |
---|---|
WIL_항해99_8주차 (실전 프로젝트 1주 차) (0) | 2022.07.04 |
WIL_항해99_6주차 (0) | 2022.06.20 |
WIL_항해99_5주차 (0) | 2022.06.13 |
WIL_항해99_4주차 (2) | 2022.06.05 |