ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [내일배움캠프] 12월 28일 수요일 TIL 회고록
    카테고리 없음 2022. 12. 29. 00:45

    문시해알을 해야하는데 오늘은 강의만 계속 들어서.. 강의를 들으면서 처음 들어보는 것들을 정리해 보려고 한다..ㅠㅠ

     

    @AuthenticationPrincipal : 로그인한 사용자 정보를 받아 사용할 수 있는 어노테이션

    사용 방법은 크게 3가지가 있다.

    1. 컨트롤러에서 Principal 객체 주입받아 사용
    2. 컨트롤러에서 @AuthenticationPrincipal 선언하여 엔티티 객체 받아오기
    3. 컨트롤러에서 @AuthenticationPrincipal 선언하여 엔티티의 어댑터 객체 받아오기(제일 권장)

    @Secured : 권한이 필요한 부분에 선언할 수 있는데 Class나 Method 단위까지 지정을 할 수 있다. 예를 들면 ROLE_ADMIN만 

    접근시킬 메서드가 있다면 해당 메서드 위에 @Secured 어노테이션을 선언해주기만 하면 된다.

     

    관심 상품을 등록해주는 코드이다.

    @Secured 어노테이션을 사용했고 USER도 접근 가능하게 적었다.

    USER 권한도 관심 상품을 등록 할 수 있다.

    이번에는 ADMIN만 관심 상품을 등록할 수 있도록 적었다.

    User 권한으로 관심 상품을 등록하려 했더니 403 에러가 나오면서 관심 상품 등록이 안된다.

    이처럼 접근 권한을 부여할 때 @Secured 어노테이션을 사용하면 좀 더 편하고 직관적인 권한 부여가 가능하다는 것을 알게 되었다.

     

Designed by Tistory.