ACL、RBAC、ABACの認可ポリシーをモデルとポリシーファイルで設定して適用する、Go向けアクセス制御ライブラリ。
spatie/laravel-permission
ユーザー、ロール、権限をデータベースに保存し、LaravelのGateを通じて確認できるLaravelパッケージです。
- スター
- 12,981
- フォーク
- 1,815
- 未解決の Issue
- 0
- 最終コミット
- 13 時間前
これは何?
laravel-permissionを使うと、Laravelアプリケーションでユーザーにロールや権限を割り当て、どちらもデータベースに保存できます。権限はユーザーに直接付与することも、ロールを通じて付与することもできるため、たとえばユーザーに「writer」ロールを割り当て、そのロールに紐づく権限を継承させられます。
権限を登録するとLaravelのGateを通じて利用できるようになり、追加の設定なしで標準の`can`メソッドや認可ヘルパーを使えます。このパッケージはPHPとLaravel向けに作られており、インストール手順とアップグレード手順は公式ドキュメントで確認できます。
主な機能
- 01ユーザーに直接、またはロールを通じて間接的に権限を割り当てられます。
- 02Gate経由でLaravel組み込みの`can`関数を使ってアクセスを確認できます。
- 03ロールと権限をデータベースに保存できます。
- 04ロールごとに権限セットを設定し、実行時に更新できます。
ユースケース
- 特定のロールを持つユーザーだけが管理画面やコンテンツ編集機能を使えるようにする。
- 編集者には記事の編集権限を付与し、読者には閲覧のみを許可する。
- 複数のユーザーが利用するLaravelアプリケーションで、ロールベースのアクセス制御を構築する。
クイックスタート
- 1
外部ドキュメントのインストールおよび使用ガイドに従ってください
トピック
よくある質問
- laravel-permission とは?
- ユーザー、ロール、権限をデータベースに保存し、LaravelのGateを通じて確認できるLaravelパッケージです。 laravel-permissionを使うと、Laravelアプリケーションでユーザーにロールや権限を割り当て、どちらもデータベースに保存できます。権限はユーザーに直接付与することも、ロールを通じて付与することもできるため、たとえばユーザーに「writer」ロールを割り当て、そのロールに紐づく権限を継承させられます。
- laravel-permission は無料で使えますか?ライセンスは?
- laravel-permission は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- laravel-permission は今もメンテナンスされていますか?
- 活発にメンテナンス中。laravel-permission の最終コミットは 2026年11月6日 です。
- laravel-permission は何に使えますか?
- 特定のロールを持つユーザーだけが管理画面やコンテンツ編集機能を使えるようにする。 編集者には記事の編集権限を付与し、読者には閲覧のみを許可する。 複数のユーザーが利用するLaravelアプリケーションで、ロールベースのアクセス制御を構築する。
- laravel-permission のインストール方法は?
- 外部ドキュメントのインストールおよび使用ガイドに従ってください
- laravel-permission はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/spatie/laravel-permission
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Google Zanzibarに着想を得たオープンソースの認可サービス。アプリのコード外で、きめ細かなRBAC、ReBAC、ABACによるアクセス制御を構築できます。
YAMLポリシーを評価し、誰がどのリソースに対してどの操作を実行できるかを判定する、セルフホスト型の認可エンジン(PDP)。
OIDCとOAuth 2.1を基盤とするオープンソースの認証・認可インフラ。マルチテナント、エンタープライズSSO、RBACをSaaSやAIアプリ向けに提供します。
Regoで認可やコンプライアンスのルールを記述し、サービスやKubernetesなどから評価できる汎用ポリシーエンジンです。
Prisma互換ORM、組み込みのアクセス制御、自動生成されるCRUD APIとTanStack Query hooksを備えたTypeScriptデータレイヤー。