Laravel-permission 和 bouncer 使用感覺總結

sunshinev發表於2019-11-29

上手使用感覺

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 協議》,轉載必須註明作者和本文連結

相關文章