北京网帮你
laravel权限spatie/laravel-permission中文使用说明,其实很简单
时间:2016-06-04 00:18:30 浏览:4143

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

到这就完了,如果你感觉本文说的还行,分享给更多的朋友,谢谢!




[上一篇]larave5.1\5.2一对一和一对多的关
[下一篇]阿里云ecs服务器lamp+lnmp环境安

Copyright 2014 wbnsp.com copyright, all rights reserved

2014 版权所有 红花岗区网帮你信息技术工作室

工信部备案号: 黔ICP备14004469号

扫描二维码用手机发部信息