-
[내일배움캠프] 12월 28일 수요일 TIL 회고록카테고리 없음 2022. 12. 29. 00:45
문시해알을 해야하는데 오늘은 강의만 계속 들어서.. 강의를 들으면서 처음 들어보는 것들을 정리해 보려고 한다..ㅠㅠ
@AuthenticationPrincipal : 로그인한 사용자 정보를 받아 사용할 수 있는 어노테이션
사용 방법은 크게 3가지가 있다.
- 컨트롤러에서 Principal 객체 주입받아 사용
- 컨트롤러에서 @AuthenticationPrincipal 선언하여 엔티티 객체 받아오기
- 컨트롤러에서 @AuthenticationPrincipal 선언하여 엔티티의 어댑터 객체 받아오기(제일 권장)
@Secured : 권한이 필요한 부분에 선언할 수 있는데 Class나 Method 단위까지 지정을 할 수 있다. 예를 들면 ROLE_ADMIN만
접근시킬 메서드가 있다면 해당 메서드 위에 @Secured 어노테이션을 선언해주기만 하면 된다.
관심 상품을 등록해주는 코드이다.
@Secured 어노테이션을 사용했고 USER도 접근 가능하게 적었다.
USER 권한도 관심 상품을 등록 할 수 있다.
이번에는 ADMIN만 관심 상품을 등록할 수 있도록 적었다.
User 권한으로 관심 상품을 등록하려 했더니 403 에러가 나오면서 관심 상품 등록이 안된다.
이처럼 접근 권한을 부여할 때 @Secured 어노테이션을 사용하면 좀 더 편하고 직관적인 권한 부여가 가능하다는 것을 알게 되었다.