Laravel-ACL 验证权限和角色

验证角色

可以通过调用 is 方法验证角色。

基于用户的验证。

Laravel 5.3 使用 hasRole() 代替 is()

is()/hasRole() 方法支持用逗号代表 AND,管道分隔符代表 OR。你也可以传入操作符作为第二个参数。

// laravel 5.3 使用 hasRole()
$user = User::first();
$user->hasRole('administrator');
$user->hasRoleAdministrator();  // using method
$user->hasRole('administrator|moderator');

// laravel < 5.3
$user = User::first();
$user->is('administrator');
$user->isAdministrator();   // using method

// 使用管道分隔符作为 OR 操作符
// 任何一个角色通过则返回 true
$user->is('administrator|moderator');

// 使用逗号作为 AND 操作符
// 所有指定的角色必须全部通过才返回 true
$user->is('administrator,moderator');

// 传入操作符作为第二个参数
$user->is(array('administrator', 'moderator'), 'or');

验证权限

可以通过调用 can 方法验证权限。

基于角色的验证。

can() 方法支持用逗号代表 AND,管道分隔符代表 OR。你也可以传入操作符作为第二个参数。

$admin = Role::first(); // administrator
$admin->can('view.user');
$admin->canViewUser();  // using method.

// 数组形式
$admin->can(array('view.user', 'edit.user'));

// 数组形式加 or 操作符
$admin->can(array('view.user', 'edit.user'), 'or');

// 使用管道分隔符作为 OR 操作符
// 任何一个权限通过则返回 true
$admin->can('view.user|edit.user|view.admin|delete.admin');

// 使用逗号作为 AND 操作符
// 所有指定的权限必须全部通过才返回 true
$admin->can('view.user,edit.user,view.admin,delete.admin');

基于用户的验证

$user = User::first();
$user->can('delete.user');
$user->canDeleteUser(); // using method
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,020评论 25 708
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,571评论 0 4
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,519评论 9 467
  • 人生百态,喜怒哀乐,一部好戏即可承载。好戏连台,精彩演绎,呈现不一样的戏剧人生! 这里有一个小小的剧场,在乌镇; ...
    流动的蔚蓝YZ阅读 247评论 0 1