PreAutorize
: 메소드가 실행되기 전에 인가를 검사한다.
PreAutorize("hasRole("ROLE_ADMIN")")
publuc void updateUser(int userId){ ... }
만약 코드가 다음과 같다면 메서드가 실행되기 전에 스프링 EL 표현식을 평가하고 true일 경우에만 메서드가 실행된다.
PostAutorize
: 메소드가 실행된 후에 인가를 검사한다.
@PostAutorize("authentication.principal.username==returnObject.userId")
publuc void getOrder(int orderId){ ... }
스프링 EL 표현식을 평가하고 true인 경우에만 메서드의 결과를 반환한다. 만약 false라면 예외가 발생하며 결과는 제공되지 않는다.
Secured
@Secured("ROLE_ADMIN")
public void adminAccess(){...}
: 메서드 수준의 접근 제어를 구현하기 위해 사용된다. 해당 메소드에 접근할수 있는 권한을 명시적으로 지정가능하다.
[참고자료]
Spring Security @PreAuthorize, @PostAuthorize, @Secured
Spring Security에서 메서드 수준 접근 제어를 위해 사용되는 어노테이션들이 있습니다. 이 어노테이션들을 사용하여 메서드의 실행 전후에 인가 검사를 수행하여 접근 권한을 제어할 수 있습니다.
yeo-computerclass.tistory.com
'Spring' 카테고리의 다른 글
[Spring Security] 구글 로그인 분리 + 네이버 로그인 (0) | 2024.07.01 |
---|---|
[Spring Security] 구글 로그인 (0) | 2024.06.27 |
[Spring Security] 2. 회원가입 및 로그인/ 권한처리 (0) | 2024.06.25 |
[Spring Security] WebSecurityConfigurerAdapter deprecated 이슈 (0) | 2024.06.25 |
[Spring Security] 1. 기본설정, SecurityConfig (0) | 2024.06.25 |