본문 바로가기

프로젝트/PongGame18

LoginAccountIdArgumentResolver LoginAccountIdArgumentResolver ArgumentResolver가 현재 로그인한 Account의 Id를 컨트롤러의 파라미터로 받을 수 있도록 한다. 이를 구현하기 위해 다음과 같은 어노테이션와 클래스를 생성한다. ● @LoginAccountId : LoginAccountIdArgumentResolver 사용시, 파라미터에 적용될 어노테이션 ● LoginAccountIdArgumentResolver : 컨트롤러의 파라미터에 현재 로그인한 Account의 Id를 반환하는 클래스 1. LoginAccountIdArgumentResolver ■ LoginAccountId 어노테이션 기반으로 파라미터를 지정해주기 때문에 어노테이션을 생성한다. [LoginAccountId] import jav.. 2022. 4. 28.
FileProcessor FileProcessor 해당 프로젝트에서 파일(주로 이미지 파일) 이름을 편집하고 저장하는 등의 역할을 하는 클래스 1. FileProcessor ■ FileProcessor [FileProcessor] import com.hipo.exception.IllegalRequestException; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.util.UUID; @Component p.. 2022. 4. 28.
Spring Security, JWT, 인증, 인가 Spring Security, JWT, 인증, 인가 Spring Security를 베이스로 JWT를 사용해서 해당 프로젝트의 인증과 인가를 구현한다. 이와 관련돼서 생성된 클래스는 다음과 같다. ● SecurityConfig : Spring Security관련 설정 ● UserAccount : Spring Security에서 인증 요소(principal)로 사용되는 객체. Userdetails를 상속받고 Account의 정보를 갖는다. ● PrincipalDetailService : 인증 시, DB에서 Account를 찾고 UserAccount로 반환하는 loadUserByUsername 메서드를 갖는다. ● JwtAutienticationFilter : jwt를 사용해서 인증 처리 ● JwtAutior.. 2022. 4. 18.
Account 생성 Account 생성 인증, 보안과 같은 서비스를 적용시키기 위해서는 그 대상이 되는 객체가 존재해야 한다. 때문에 회원의 계정에 해당하는 Account 엔티티를 작성한다. [Account] @Where(clause = "deleted = false") @Entity @Getter @Builder @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Account { @Id @GeneratedValue @Column(name = "account_id") private Long id; private String username; private String password; private String nicknam.. 2022. 4. 14.