@Configuration
@EnableMethodSecurity(securityEnabled = true)
public class SecurityConfig {
//이 설정으로 @Secured 어노테이션을 사용할 수 있게 됩니다.
}
2 단계
@Service
public class UserService {
@Secure("ROLE_USER")
public String getUserInfo(){
return "사용자 정보";
}
@Secure("ROLE_ADMIN")
public String deleteUser(Long userId){
return "사용자 삭제 완료";
}
}
3 단계
@RestController
@RequestMapping("/api/users")
public class UserController{
private final UserService userService;
public UserController(UserService userService){
this.userService = userService;}
@GetMapping("/info")
public String getInfo(){
return userService.getUserInfo(); //ROLE_USER 체크됨
}
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable Long id){
return userService.deleteUser(id); //ROLE_ADMIN 체크됨
}
}