私は、かなり大きくて複雑な新しいサイトを設計しながら、RBAC に飛び込んでいます。タスクを作成するか、ビジネスルールを使用して単に操作を作成するかを考えています。
今、私は既存のドキュメントのすべてではないにしてもほとんどを読みました。現在のドキュメントには、「タスクは操作で構成される」と記載されています。This wiki article は、さまざまな用語は単に命名規則であり、存在する唯一の制限は構造的なものであると述べています-ロールにはタスク (または他のロール) を含める必要があります。タスクには操作 (または他のタスク) を含める必要があり、操作は他のエンティティによってさらに構成されない原子的な用語です。また、「Agile web dev...」と「Yii cookbook」の関連セクションも読みましたが、どちらもこの問題について詳しく説明していません (少なくとも私の眼鏡を通して見た場合)。
質問を提示する私の例に行きましょう。実際、上記のドキュメント リソースのほとんどで示されているのと同様の例を使用してみましょう: ブログ投稿があり、その作成者が「自分の投稿を更新」できるようにしたい/必要があるとします。では、なぜこれがドキュメント リソースで一般的に示されているタスクであり、ビジネス ルールによる操作ではないのでしょうか?
上記の質問は、「タスク」の不明確な定義を明らかにしていると思います(もちろん、RBACのコンテキストで)。
RBAC タスクのより良い定義を抽出するのを手伝ってください。
編集: 言及された用語の次の定義は、それらを有用な方法で概念化するのに役立ちます. 簡単に言うと、操作は基本的な構成要素です。それらは開発者が扱う素材であり、それらだけです。開発者は、操作の上にタスクを構成します。役割は、一連のタスクのようにタスクで構成されます。役割とタスクは、サイト管理者が行うべきものです。ユーザーへの割り当てと取り消しは行いますが、操作は行いません。これは、これらのエンティティ (役割、タスク、および操作) を見て把握するための優れた方法です。別の方法で概念化する別のオプションはありますか? コメントをお待ちしております。
ティア!ボアズ。