Spring Framework-20

유호준·2021년 4월 5일
0

Spring Framework

목록 보기
21/21

👦🏻이번엔 유저의 객체를 인증 객체로 받아보자!


post.jsp 수정

원래 userSession에 저장된 emailpost의 유저의 email을 비교하던 부분을 Spring Security의 인증 객체의 email과 비교하도록 변경합니다. <sec:authentication> 태그를 사용하면 인증 객체를 받아올 수 있습니다.

<sec:authentication property="principal" var="user"/>
<c:if test="${user.email == post.user.email}">

ServletConfig 수정

UserArgumentResolver를 등록하는 부분을 주석처리합니니다.

@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
        WebMvcConfigurer.super.addArgumentResolvers(resolvers);
//        resolvers.add(new UserArgumentResolver());
}

PostController 수정

@AuthenticationPrincipal로 유저의 정보를 받아옵니다. 이 Annotation은 현재 인증된 객체를 받아오는 Annotation입니다.

@PostMapping
public @ResponseBody int postPost(@RequestBody PostVO postVO, @AuthenticationPrincipal UserVO user) {
        postVO.setUser(user);
        postService.save(postVO);
        return postVO.getId();
}

테스트




0개의 댓글