【发布时间】:2019-02-04 22:27:49
【问题描述】:
当我输入 url localhost/website/post/1/edit 时,我收到此操作未经授权 403。我想保护未经授权的用户编辑帖子。
在 PostController 中
public function edit($id)
{
$post=Post::findOrFail($id);
$this->authorize('check_access',$post);
return 'You are authorized';
}
在 AuthServiceProvider.php 中
protected $policies = [
Post::class => 'PostPolicy::class',
];
在 PostPolicy.php 中
public function check_access($post)
{
return Auth::user()->id==$post->user_id;
}
在 web.php 中
Route::resource('post','PostController');
请告诉我哪里错了。我是 laravel 的新手,非常沮丧。谢谢
【问题讨论】: