0
내 사용자 컨트롤러에 사용자의 하위 리소스에 대한 액세스 권한을 부여하는 posts 기능이 있습니다. 이것은/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;
}
}
도움을 주셔서 감사합니다. –