Slide 71
Slide 71 text
Copyright© M&Aクラウド
Q: ⽐較検討したライブラリは他には何があったのか?
71
ライブラリ モデル対応 主な対象⾔語 ⻑所 短所 適合度
Casbin ACL / RBAC / ABAC /
任意拡張
Go (core) 他に PHP,
Java, Node など 10
以上
マルチモデル‧軽量
組込‧⾼性能;PHP
バインディングあり
DSL 構⽂が独特で学
習コストやや⾼
◎(採⽤)
Laravel Policy &
Gate
ACL(基本的なアクセ
ス制御)
PHP / Laravel 標準機
能
追加パッケージ不要
‧学習コスト低
‧Eloquentモデルと
の親和性⾼
複雑なRBAC/ABAC不
可‧階層的権限管理
困難‧⼤規模権限管
理には機能不⾜
△(基本的な権限管
理のみ)
Spatie
laravel-permission
RBAC(ロール+パー
ミッション)
PHP / Laravel Laravel Gate との親
和性∕学習コスト低
ABAC不可‧階層/属
性表現が弱い
○(Laravel 単体なら
⼿軽)
Bouncer RBAC + きめ細かい
"ability" 概念
PHP / Laravel 否定権限・モデル単位
許可など表現力高
ABAC不可・階層/属性
表現が弱い
○(Laravel 単体なら手
軽)
Oso / Oso Cloud RBAC / ABAC /
ReBAC(Polar DSL)
Node, Go, Rust,
Python, Java ほか
"Polar" DSL が可読性
高い・クラウド/ローカル
混在可
PHP バインディング無
し、SaaS 料金高め
△(言語制約)