Spring5 [Spring boot / Kotlin] Spring security + JWT 로그인 구현하기 오늘은 Spring security + JWT를 이용하여 로그인을 구현해보도록 하겠습니다. 언어는 kotlin을 사용했습니다. 1. User Entity 생성 로그인을 하기 위해서는 회원가입된 사용자 정보가 필요하기 때문에, UserDetails를 상속받은 User Entity를 생성합니다. @Entity class User(name: String, email: String, m_password: String): BaseTime(), UserDetails { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long? = null @Column(nullable = false) var name: String = name @Column(null.. 2021. 12. 30. [Spring boot] Spring security란? Spring security? Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리합니다. Filter는 Dispathcer Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있습니다. Spring secutiry는 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안 관련 로직을 작성하지 않아도 된다는 장점이 있습니다. Autorization & Authentication - 인증 (Authentication) : 해당 사용자가 본.. 2021. 12. 28. [Spring boot] swagger Failed to load API definition 오류 @PostMapping("/test") @ApiOperation(value = "test API") @ApiImplicitParams({ @ApiImplicitParam(name = "testReq", value = "test DTO", required = true) }) public BaseResponse postDivisions(@RequestBody TestReq testReq) { testService.create(testReq); return new BaseResponse(BaseResponseCode.OK); } 해당 오류가 뜨는 데에는 다양한 이유가 있지만, 저 같은 경우에는 @ApiImplicitParam의 name과 RequestBody로 받는 dto의 변수명이 일치하지 않아 생기는 문제.. 2021. 12. 26. [Spring boot / Kotlin] exception Handling 프로젝트를 진행하다 보면 여러가지 예외가 발생합니다. 그중 500 error가 나는 경우, 그 이유는 다음과 같습니다. - 서버 통신의 Timeout 시간 지연 오류 - 서버 트래픽 과부하 - 서버 언어의 구문 에러(스크립트 문법 오류) 오늘은 발생된 예외를 처리하는 방법에 대해서 다뤄보도록 하겠습니다. 1. BaseResponseCode Enum 생성 응답을 보낼 객체의 형태는 자유롭게 정의할 수 있으며, 저는 Enum 타입을 사용했습니다. HttpStatus 타입의 status와 String 타입의 message를 선언했습니다. enum class BaseResponseCode(status: HttpStatus, message: String) { BAD_REQUEST(HttpStatus.BAD_REQ.. 2021. 12. 20. 이전 1 2 다음 반응형