laravel权限spatie/laravel-permission中文使用说明,其实很简单
在开始网上找了好多教程,都看不懂,最后发现原来就这个回事。
1先去https://packagist.org/packages/spatie/laravel-permission下载安装好laravel-permission权限插件
2. 在看到这数据库中有这5张表就说明安装配置成功
user_has_permissions,user_has_roles,users,permissions,roles
3.在使用中如何使用添加权限呢,这是我刚开始的疑惑,因为他不同也常规,首先来说表的名字就是个怪咖,明明是多对多的关系,不知为何要加has,和其他权限插件就不同在此。其实很简单,他也很好用,当然,我也说的不是很好,只是我在网上找便了都没找到使用方法,本人英文也看不懂,所以请原谅不足之处。好了费话不说了.
4.上面好后我们需要手动创建 permissions和roles/Model.
5.上面说了他本就是多对多的关系,其实就是在多对多的关系中指定外键.如下:
Permission模型对Role的多对多关系。
public function roles()
{
return $this->belongsToMany('App\Role','role_has_permissions'
,'permission_id', 'role_id');
}
其次Role模型相反对应,其它的也一样。
6.关系建好后,就填充相应的数据到数据库中,给用户添加角色权限,就和我们平常使用多对多对关系一样,使用laravel提供的多对多关系的函数。
注:这个laravel-permission插件自已也提供相应的函数。
7.view中可以做用laravel-permission插件的判断用户权限的方法.如:
@role('writer') I'm a writer! @else I'm not a writer... @endrole
@hasrole('writer') I'm a writer! @else I'm not a writer... @endhasrole
@hasanyrole(Role::all()) I have one or more of these roles! @else I have none of these roles... @endhasanyrole
@hasallroles(Role::all()) I have all of these roles! @else I don't have all of these roles... @endhasallroles
到这就完了,如果你感觉本文说的还行,分享给更多的朋友,谢谢!
laravel权限spatie/laravel-permission中文使用说明,其实很简单https://packagist.org/packages/spatie/laravel-permission下载安装好laravel-permission权限插件
3.在使用中如何使用添加权限呢,这是我刚开始的疑惑,因为他不同也常规,首先来说表的名字就是个怪咖,明明是多对多的关系,不知为何要加has,和其他权限插件就不同在此。其实很简单,他也很好用,当然,我也说的不是很好,只是我在网上找便了都没找到使用方法,本人英文也看不懂,所以请原谅不足之处。好了费话不说了.
,'permission_id', 'role_id');
注:这个laravel-permission插件自已也提供相应的函数。
@else
I'm not a writer...
@endroleI'm a writer!
@else
I'm not a writer...
@endhasroleI have one or more of these roles!
@else
I have none of these roles...
@endhasanyroleI have all of these roles!
@else
I don't have all of these roles...
@endhasallroles
到这就完了,如果你感觉本文说的还行,分享给更多的朋友,谢谢!