드디어 마지막 장인 13장을 다 읽었다.. Chap.13 서비스의 인증과 권한 부여서비스를 개발하다보면, 회원간의 별도의 데이터를 저장한다던가, 특정 게시물을 삭제할 때, 요청한 유저가 해당 게시글의 주인인가를 파악하는 로직이 추가되기 마련이다. 이런 경우에 Spring Boot에서는 요청을 보낼때 누가 보냈는지를 넣어서 전달하고 반환받을 수도 있지만, 이런 것은 Spring스럽지 않기 때문에, Spring Boot Security를 사용해서 보안과 인증, 권한을 처리한다. 13.1 보안 용어 이해인증 Authentication은 사용자가 누구인지 확인하는 단계를 의미한다. 예를 들자면 로그인과 같은 기능이 존재한다.로그인 Form에 Username과 Password를 입력한 후 전달하고, 서버에서는 해..
지난 포스팅에서 JWT의 개념에 대해서 알아봤으니까 이번 포스팅에서는 JWT 방식을 채택해서 로그인 기능을 구현할 예정이다. Dependencies // Spring Security implementation 'org.springframework.boot:spring-boot-starter-security' testImplementation 'org.springframework.security:spring-security-test' // JWT Token implementation 'io.jsonwebtoken:jjwt:0.9.1' 'org.springframework.boot:spring-boot-starter-security' : Springboot에 Security 설정을 하기 위해서 필요한 디펜던..
프로젝트를 진행하다 보면, 필요에 의해서 로그인 기능을 구현해야할 때가 찾아온다. 로그인 기능을 구현하는 방법에는 Session을 이용하는 방식, Cookie를 이용하는 방식, Token을 이용하는 방식이 존재하는데, 이번 포스팅에서는 JWT의 개념에 대해서 알아보고 다음 포스팅에서 Login 기능을 구현할 예정이다. JWT(Json Web Token) JWT란 Json Web Token의 약자로 Json 형식을 사용하여 사용자의 정보를 저장하는 Claim 기반의 Web Token이다. JWT는 Token 자체를 정보로 사용하는 Self-Contained 방식으로 정보를 안전하게 전달한다. JWT의 구조 Header, Payload, Signature로 이루어져있으며, Json 형태인 각 부분은 Base..