Laravel-permission 和 bouncer 使用感觉总结

上手使用感觉#

laravel-permission#

  1. 数据表设计,更加复杂一些
  2. 数据表进行设计的时候,并不是每张表都有 id 作为 PRI,导致部分 CRUD 工具无法识别主键
  3. guard 会默认从配置中获取 web,这就要求 Model 类是要有 guard_name 这个属性的。或者可以每次调用 givePermissionTo 之前,单独指定属性。

bouncer#

  1. 数据表结构设计更简单,数据结构设计更加灵活,不仅仅是给用户设置权限,可以给任何 Model 设置(当然 laravel-permission 也可以)
  2. permissions 表,用来存储了权限和 ablities 表的映射关系,但是这张表里面的 entity_type 既可以是 roles、又可以是 Model 类,entity_id 代表在 entity_type 指向的表中的主键
  3. ablities 才是权限表

总结#

从刚刚进行适配的感觉来看,bouncer 更适合自由度更高的 programer

推荐#

这是一款可以根据 MySQL 的表结构生成 CRUD 后台的工具,在配合使用 laravel-permission 的时候,遇到了很多问题,就如刚刚提到的主键问题。配合 bouncer 运行完美,可以修改后作为权限系统的 UI。

https://github.com/sunshinev/laravel-gii
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。