概要
はじめに
単一のCasdoor組織に関連付けられた全てのユーザーは、その組織のアプリケーションへのアクセスを共有します。 しかし、特定のアプリケーションやアプリケーション内の特定のリソースへのユーザーアクセスを制限したい場合があるかもしれません。 そのような場合、Casbinによって提供されるPermission
機能を利用することができます。
Casbinの動作と、モデル、ポリシー、アダプターなどの関連概念を基本的に理解しておくことが、より深く話題に入る前に重要です。 簡単に言うと、モデルはあなたの権限ポリシーの構造と、これらのポリシーとその結果に対するリクエストのマッチング基準を定義します。 一方、ポリシーは具体的な権限ルールを記述します。 Casbinが必要なモデルとポリシー情報を持っていれば、受信リクエストに対する権限制御を実施することができます。 アダプターは抽象化層として機能し、ポリシーのソースからCasbinの実行者を保護し、ポリシーをファイルやデータベースなど様々な場所に保存することを可能にします。
Casdoorでの権限設定に戻ると、Casdoor Web UI内のModel
設定項目で組織のモデルを追加し、Permission
設定項目で組織のポリシーを追加することができます。 Casbinオンラインエディターは、特定の使用シナリオに合わせたモデルとポリシーのファイルを提供することができます。 CasdoorのWeb UIを通じてモデルファイルを簡単にインポートし、内蔵されたCasbinによって使用することができます。 しかし、ポリシー(つまり、Casdoor Web UIのPermission
設定項目)については、後ほど説明する必要がある追加の指示が必要です。
あなたのアプリケーションがCasdoorの内蔵Casbinを通じて権限制御を実施する必要があるように、Casdoor自体も独自のモデルとポリシーを使用してCasbinを通じてAPIインターフェースのアクセス権を規制します。 Casdoorは内部コードからCasbinを呼び出すことができますが、外部アプリケーションはできません。 解決策として、Casdoorは内蔵Casbinを呼び出すためのAPIを外部アプリケーションに公開します。 これらのAPIインターフェースの定義と、それらを使用する方法については間もなく提供します。
この章の終わりに向けて、Casdoorが外部アプリケーションと協力して権限制御を行う実際の例を紹介します。
始めましょう!