讨论数量:
before 是在 对应的policy之前生效的,如果这个为true,那么后面的policy也不会去检查了。表示已经授权通过了。
假设一个博客除了作者之外,还有管理员可以进行更改。那么有下面的两种方式进行处理。
普通方法
public function update(User $user, Post $post)
{
return $user->id === $post->user_id || $user->is_admin;
}
before方法
public function before($user)
{
return $user->is_admin;
}
public function update(User $user, Post $post)
{
return $user->id === $post->user_id;
}
before 方法可以将通用的admin判断移除到共有的方法中。
我要弄的是一个控制后台,首先得是Role = Development 才能进行访问,如果不是的就不让访问,包括之后的所有动作,然后再根据后面的动作GET/POST 按照权限来划分,请问如何实现?按照官方的L02 的书籍中介绍,我需要给控制器的每个动作crate show ····· 等等 全部都写上 $this->authorize('create', $Admin); 吗?
为什么 权限控制需要携带一个模型当做参数呢?判断用户受否具备权限还指定模型是干什么用的?
我个人觉得L02 这本书 写的有点问题,权限控制章节草草结束。
before 是在 对应的policy之前生效的,如果这个为true,那么后面的policy也不会去检查了。表示已经授权通过了。
假设一个博客除了作者之外,还有管理员可以进行更改。那么有下面的两种方式进行处理。
普通方法
before方法
before 方法可以将通用的admin判断移除到共有的方法中。