Yii で srbac を使い始めました。
使用可能なオプション: 役割、タスク、および操作を作成してから、操作をタスクに、タスクを役割に割り当てます。
私の質問は、操作ごとにタスクを作成する必要がありますか? 最下位のユーザー レベルに 1 つの操作を割り当て、スーパー管理者に 4 つの操作を割り当てたいためです。
私が明確だったことを願っています、ダニー
Role、Task、およびOperationはすべて「承認項目」であり、存在する必要があります。アクセス許可をツリー形式で整理する方法を提供するだけで、ツリーの任意のノードを選択してユーザーに割り当てることができます。もちろん、リーフであるかどうかにかかわらず、複数のノードをユーザーに割り当てることもできます。
非常に単純なアプリを設計するだけでよい場合は、単純に 4 つの「操作」(またはタスク、またはロール) を作成し、基準に従ってユーザーに割り当てることができます。ただし、中規模から大規模のアプリにはツリー スキームをお勧めします。
少し前に Yii で RBAC に飛び込んだときに、同様の質問があったと思います。明確にする必要があるのは、操作、タスク、役割の本当の意味だと思います。私の結論はここに記載されており、ここにある Yii プロジェクトの創設者自身からの素敵なコメントに基づいています。一言で言えば、操作は最も基本的な構成要素 (Yii RBAC の世界のアトム) です。開発者 (および彼らのみ) は、それらを定義し、それらからタスクを構築します。タスクは、1 つ以上の操作から構成されます。役割はタスク (少なくとも 1 つ) から構築されます。
私のデザインでは、基本的なビルディング ブロックとしてタスクを使用し、タスクの例としては、「自分のプロフィールを編集する」、「記事を作成する」、「プライベート メッセージを送信する」などがあります。私にとって、これらの認証項目をより細かい粒度に分割することは、過度の設計です。
また、アプリの RBAC ツリーは、現在直面している単純な要件に適合するべきではなく、最初からより堅牢であるべきだと思います。タスクと役割を設定し、ユーザーに役割を割り当てることをお勧めします。これは、サイトを維持するためのより直感的な方法だと思います。