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
從路徑得到了與Spring的數據
@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太複雜了,根本無法做到網址。
也許這只是可行的方法。 – wener
@wener這是我通常應用於我的項目的方法。也許有更好的方法來實現你想要的,但我發現這種方法非常可讀和有效。 – davioooh