0
在我的用戶控制器中,我有一個posts函數,它可以訪問用戶的子資源。這是通過/ users/{id}/posts端點訪問的。通過身份驗證Laravel
我想從請求URL中的$ id進入一個UserPolicy方法:
public function resource($user, $id)
{
return $user->id === $id;
}
我UserController的方法:
public function posts(Request $request, $id)
{
$this->authorize('resource', $id);
return response()->json(['events' => []], 200);
}
反正有沒有做到這一點?我注意到策略方法似乎忽略了任何不是對象的東西。
編輯:
我目前使用此授權的輔助方法,但想將其移動到我的策略,以保持所有規則在一起:
public function authorizeResource($id)
{
if ((int)$id !== (int)$this->auth->user()->id) {
throw new \Exception;
}
}
感謝您的幫助,這工作的魅力。 –