获取这一行动是非法laravel

问题描述 投票:0回答:1

我得到这个动作是未经授权的403当我输入URL本地主机/网站/后/ 1 /编辑。我要保护编辑从未经授权的用户帖子。

在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新的和完全沮丧。谢谢

php laravel laravel-5
1个回答
2
投票

你不应该完全阻碍了我的朋友。你应该阅读的文档,你正在尝试写的代码更好的理解。所以才效仿here,你应该是所有好去。因此,而不是访问来自Auth后卫的用户,你可以通过它传递给方法,第一个参数。

public function check_access(User $user, Post $post)
{
    return $user->id == $post->user_id;
}
© www.soinside.com 2019 - 2024. All rights reserved.