Save 37% off PRO during our Black Friday Sale! »

アクセス制御ライブラリ Casbinを使ってみた

アクセス制御ライブラリ Casbinを使ってみた

Laravel Meetup Tokyo Vol.13 にてLTした際の資料です。

Laravel製プロダクトの管理画面に
ロールベースのアクセス制御を導入するのにCasbinを使って便利だったので、
どんなものか紹介します。

keywords: PHP, Laravel, Casbin, laravel-authz, RBAC

https://casbin.org/
https://github.com/php-casbin/laravel-authz
https://corp.macloud.jp/

Ea059a886741b21e8d1dd992129634f7?s=128

y-tsuzaki

March 09, 2021
Tweet

Transcript

  1. アクセス制御ライブラリ
 Casbinを使ってみた


  2. 自己紹介 
 名前:つざき (Twitter @820zacky)   
 所属:
 
 PHPer・Laravel歴:1.5年


    マイブーム:公園で懸垂
 

  3. はじめに

  4. はじめに Laravel製プロダクトの管理画面に ロールベースのアクセス制御を導入するのに Casbinを使って便利だったので、 どんなものか紹介します。

  5. Casbinとは?

  6. Casbinとは? さまざまなアクセス制御モデルをサポートする Authorization(認可)ライブラリ Go, Java, C/C++, Node.js, Javascript, PHP その他もろもろの言語をサポート

    https://casbin.org/
  7. Casbinとは? 対応しているアクセス制御モデル - ACL: アクセス制御リスト - RBAC: ロールベースアクセス制御 - ABAC:属性ベースアクセス制御

    など https://casbin.org/
  8. Casbinとは? https://casbin.org/

  9. モデル定義ファイルを編集することで さまざまなアクセス制御モデルに柔軟に対 応できる Casbinとは?

  10. このように特殊な式を使ってモデルを定義する

  11. ロールベースはこちら 基本的なものはテンプレあり

  12. Laravelでの使い方

  13. php-casbin/laravel-authz というパッケージを使う

  14. None
  15. 設定ファイルをpublishして ルール保存テーブルをmigrateする

  16. ルールを追加する

  17. 権限があるか問い合わせる

  18. middlewareを使って ルートごとに制御 

  19. 便利なメソッドもいろいろ

  20. まとめ - Casbinは色々なアクセス制御モデルに対応している - Laravelでも便利に使える - Casbinいいぞ

  21. None