0
/user/{userId}/* # Only user with userId and admin can access
/order/{orderId}/* # Only the order owner of orderId and admin can access
현재 솔루션은 @Current
애노테이션 서버에 전달 token
관련되는 맞춤형 주입된다. @PathVariable("user-id") UserEntity user
우리는 그들 모두를 config (설정) 할 수있는 간단한 방법이 너무 많은 주석을 가지고
@PreAuthorize("#user.id == #u?.id")
public UserDTO access(@P("user") @Current UserEntity requestUser,
@P("u") @PathVariable("user-id") UserEntity user)
@PreAuthorize("#user.id == #uid && (#order == null || #order?.user?.id == #uid)")
public Message access(@Current @P("user") UserEntity user,
@PathVariable("user-id") @P("uid") Long uid,
@PathVariable("order-id") @P("order") OrderEntity order)
봄 - 데이터와 경로에서 받고 있습니다?
사용자 확인을 사용자 정의 할 수 없습니다 사용 .antMatchers("/user/[0-9]+/*").hasRole("ROLE_USER")
- 을 시도했다.
- AOP는 너무 복잡하여 URL을 기반으로 할 수 없습니다.
아마도 이것은 수행 가능한 방법 일 수 있습니다. – wener
@ 이것이 내 프로젝트에 일반적으로 적용되는 접근 방식입니다. 어쩌면 당신이 원하는 것을 성취 할 수있는 더 좋은 방법이있을 수 있지만,이 방법은 매우 읽기 쉽고 효과적입니다. – davioooh