728x90
정의 : @PreAuthorize는 Spring Security에서 메서드 실행 전에 권한을 체크하기 위해 사용하는 어노테이션
-> @PreAuthorize는 “이 메서드를 누가 실행할 수 있는지”를 미리 제한하는 용도
예시 코드
@PreAuthorize("hasRole('ADMIN')")
public void deleteUser(String id) {
// 관리자만 실행 가능
}
@PreAuthorize("#userId == authentication.name")
public void updateMyPage(String userId) {
// 로그인한 사용자 본인만 접근 가능
}
@PreAuthorize("isAuthenticated()")
public List<Post> getMyPosts() {
// 로그인한 사용자만 글 목록 조회 가능
}
주의 사항
@PreAuthorize 쓰려면 보안 설정 클래스에 아래처럼 설정해야 작동함:
@EnableGlobalMethodSecurity(prePostEnabled = true)
728x90
'스프링Spring' 카테고리의 다른 글
@RequestParam, @PathVariable, @RequestBody, @RequestPart 차이 한눈에 정리 (0) | 2025.05.16 |
---|---|
@controller @restcontroller 차이 (1) | 2025.01.09 |
@RequestParam, 쿼리스트링 (0) | 2024.01.12 |
@Resource 와 @Autowired (0) | 2024.01.12 |
@RequestBody , @ResponseBody/@RestController (1) | 2024.01.11 |