inflearn logo
강의

Course

Instructor

Microservice Application (MSA) Development with Spring Cloud

JWT (JSON Web Token) Overview

UserEntity를 UserDto로 매핑한 후 pwd 출력에 대하여

510

blue-sky

12 asked

1

좋은 강의 정말 감사드립니다.

강의 10:47 무렵에..

아래 코드처럼 userEntity를 UserDto로 매핑한 결과를 디버그모드에서 값을 확인하는 부분이 있는데요.

UserDto userDto = new ModelMapper().map(userEntity, UserDto.class);

UserEntity에는 pwd가 설정되지 않았으므로  변환된 결과값인 userDto의 pwd 값은 null 이 나오는게 맞지 않을까요? 

로그인할때 pwd값이 아래의 코드에 의해 암호화 된다는 것을 설명하신부분은 이해했습니다.

auth.userDetailsService(userService).passwordEncoder(bCryptPasswordEncoder)

사실 별로 중요하지 않은 부분이라  그냥 넘어갈수도 있지만 이상해서..

pwd 값은 어디서 왔을까?  라는 생각이 들었습니다.

혹시나 해서 Mapstruct 라는 라이브러리를 사용하여 Mapping 을 시도했을때는 아래의 이미지 처럼 null이 출력되었습니다.

제가 잘못 이해한건가요?

Kafka msa architecture spring-boot spring-cloud JPA

Answer 3

3

Dowon Lee

안녕하세요, 이도원입니다. 

ModelMapper에서 두 객체 간의 데이터를 전송하는 방식을 지정하기 위해 Matching Strategy를 지정할 수 있습니다. (http://modelmapper.org/user-manual/how-it-works/)

User Controlelr에서 사용자 등록할 때 사용되는 createUser() 메소드에서 처럼 MatchingStrategies를 지정하면 매칭 수위를 조절하실 수 있습니다. MatchingStrategies는 Loose, Standard, Strict 3가지로 지정할 수있으며, Strict가 매칭 수위를 가장 까다롭게 합니다. 예를 들어, 아래 이미지는 순서대로 Loose, Standard, Strict로 지정했을 때 UserDto의 pwd 값이 어떻게 달라지는지 보여주는 이미지입니다. (테스트를 하기 위해 UserDto에 decryptedPwd라는 필드를 추가하였습니다)

* Standard

* Loose

* Strict

정확하게 encryptedPwd만을 변환하시려면  MatchingStrategies를 MatchingStrategies.STRICT로 지정해서 사용해 보시기 바랍니다.

감사합니다. 

0

juheeya401

저도 잘 참고합니다. ^^

0

seoingod

와 저도 pwd가 null 나와서 이상하다 생각했는데 Strict으로 진행해서 그랬어요 잘 알고 갑니다:)

kafka 업데이트 강의 듣고 시포요

0

106

2

강의 교안

0

95

2

마이크로서비스간 통신 시, 인증 처리

0

103

2

api gateway 에서 인증 처리

0

71

1

섹션 19 질문드립니다

0

74

2

강의 자료 업데이트

0

98

2

부하분산 강의 섹션

0

63

1

강의자료는 어디에서?

0

95

2

강의 자료는 어디서 다운 받을 수 있나요?

0

125

2

전체 사용자 조회시 오류

0

63

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

118

2

학습 방향

0

103

2

카프카 커넥터 사용 목적 문의

0

89

2

kafka 강의

0

115

2

서비스 디스커버리 종류

0

90

2

강의 자료에 대해서 궁금해요

0

124

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

91

2

Kafka Source Connect 버전 에러

0

93

2

소스커넥터는 사용안한 거 맞죠?

0

84

2

강의자료 업데이트 문의

0

98

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

63

1

강의 업데이트 계획이 궁금합니다.

0

118

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

167

2

어떤 것이 업데이트 된 건가요?

0

168

2