inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링과 JPA 기반 웹 애플리케이션 개발

프로필 수정 처리

프로필 수정 처리와 그 외 개인적인 질문드립니다.

해결된 질문

476

Henu

작성한 질문수 66

2

안녕하세요, 먼저 좋은 강의 만들어주셔서 감사드립니다.

해당 강의 '프로필 수정 처리' 학습을 진행하던 중 궁금한 사항이 생겨 질문드립니다.

먼저 강의 내용에서 처럼 POST 방식으로 프로필 수정 요청을 하는 경우

@PostMapping("{URL}") 어노테이션이 설정된 메소드가 실행이 되면서 DB의 정보와 Account 객체가 업데이트 되고, 여기서 Account 객체는 세션에 담긴 객체이지만 '준영속성(detached)' 상태로 AccountService.updateProfile(Account accoutn, Profile profile) 메소드를 통해 Merge를 하는 과정을 확인할 수 있었습니다.

다만, 여기서 궁금한 점은 

1. 프로필이 수정되기 전 세션에 설정된 Account 객체는 로그인을 통해 SecurityContext에 저장된 User(Principal, 인증된 사용자 정보)와 동일하겠지만, 프로필 수정 후에는 세션의 Account 객체와 User는 서로 다른 상태가 되는게 맞을까요?

만약, 그렇다면 프로필 수정 후 User 정보도 Account 정보와 동일하게 맞추려면 어떤 방법이 있는지 궁금합니다.

2. [개인적인 질문] 만약, 관리자 페이지가 존재해서 사용자가 애플리케이션을 이용하고 있는 중에 관리자가 회원의 정보를 변경하는 경우 사용자는 자신의 정보가 변경이 되었는지 알 수 있는 방법이 있을까요?

- 사용자 측면에서 세션의 Account는 계속해서 관리자가 수정하기 전의 자신의 정보만을 바라보고 있을 것 같다라는 생각이 들어서 질문을 남겨봅니다.

 

글이 길어 졌네요. 답변 미리 감사드립니다.

JPA jpa security thymeleaf spring-boot spring java

답변 1

2

백기선

좋은 질문 감사합니다.

1.  SecurityContext에 들어있는 Principal을 수정된 Account 객체로 바꿔주시면 됩니다.

SecurityContextHolder.getContext().setAuthentication(...);

2. 관리자가 사용자의 정보를 변경했을 때 세션에 들어있는 사용자의 정보까지 수정을 한다면 DB에 있는 정보를 바꿀테니 사용자가 사용하는 화면에서 사용자의 데이터를 DB에서 직접 읽어와 보여주는 화면들이라면, 그 화면들은 바뀐 정보를 보여줄 겁니다. 그러나, 말씀하신대로 세션에서 읽어서 보여주는 화면이라면 사용자가 바뀐 정보를 보지 못하겠죠.  다른 유저의 세션 정보까지 수정할 수 있는지는 모르겠으나.. 그런게 가능하다면 왠지 그 자체로 보안 이슈가 될 것 같네요.

0

Henu

답변 감사합니다. 추석 명절 무탈하게 보내세요.

Study 개설하는 로직에 대해서 궁금점이 있습니다.

0

56

1

앱 재시작 후 회원가입

0

104

1

app.host 관련 질문이 있습니다

0

98

1

강의 버전 정보

0

126

1

event, study 참조

0

222

2

비밀번호 변경 로직 질문있습니다.

0

136

1

프로필 수정 처리 merge 질문입니다.

0

108

1

회원가입 성공 후 redirect이동시 권한 질문

0

497

3

HtmlEmailService 개발하다 생긴 의문입니다

0

251

2

postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다

0

432

2

수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다

0

264

2

[긴급-재업로드]수업질문 로그인 안 되는 문제

0

237

1

[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요

0

278

1

cropper 오류 문제로 질문드립니다..

0

289

2

authentication관련 질문...

0

498

2

모임참가 취소 할때 로직 질문

0

351

3

안녕하세요 기선님 질문이있습니다..

0

230

1

HTML코드 및 강의 중간자료들

0

680

3

springSecurity

0

525

2

버전 질문입니다.

0

304

1

부트스트랩, css

0

357

2

영속성 컨텍스트 질문

0

251

2

다시 강의를 보니 드는생각..

0

354

2

5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?

0

316

1