0
私のユーザコントローラには、ユーザのサブリソースにアクセスできる投稿機能があります。これは/ users/{id}/postsエンドポイントからアクセスできます。承認用IDを渡すLaravel
私はUserPolicyメソッドにリクエストされたURLから$ IDを渡したい:
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;
}
}
これは魅力的でした。 –