この質問は、RBACシステム自体のデータベース設計に関するものではなく、そのWebアプリケーションでユーザーがコンテンツを送信できる場合に、このデータベースをアプリケーション固有のデータベースと組み合わせて使用する方法に関するものです。
現状では、私のRBACは、スタッフがレコードを追加および更新できる単純なバックエンド管理アプリケーションで簡単に機能するはずです。たとえば、オンラインストアには、通常、ユーザーが送信したコンテンツはありません。2つのデータベースは分離したままにすることができます。ただし、ユーザーがコンテンツを送信できるWebサイト/アプリケーションでRBACデザインを再利用する方法がわかりません。レコードを追加/更新するためのアクセス許可を必要とする2つのデータベースに2つのユーザーテーブルがあります。
RBACデータベースをWebサイトデータベースに組み込み、ユーザーテーブルを共有しますか?
2つを別々に保ちますか?
他に何かしますか?
オプション2の場合、次のようにします。
(A)WebサイトデータベースからRBACユーザーテーブルにユーザーを複製します
(B)Webサイトデータベースのユーザーテーブルとの関係を作成します
(C)Webサイトユーザー用にWebサイトデータベース内に新しいRBACシステムを作成し、管理者ユーザー用に個別のRBACを用意しますか?
データを複製しているのでAは悪いようですが、実装はかなり簡単なようです。Bは、2つの別々のユーザーテーブルとの関係を作成するのが難しいようです。Cも重複していますが、「管理者」のRBACに影響を与えることなく、このRBACを大幅にカスタマイズできます。
基本的に、RBACシステムを可能な限り再利用できるようにしたいのですが、アプリケーション固有のユーザーがコンテンツを送信できるようにすることで、頭を悩ませるのが少し難しくなります。
私のこの小さなRBACシステムは、ほとんど私が学ぶための方法なので、一般的な「フレームワークx / y/zを使用する必要があります」は使用しないでください。最近発見した用語を使用すると、私はややオタクであり、興味があるときはいつでもそれらを再発明したいと思っています!:)
私は自分のサイトにMySQLとPHPを使用しますが、ここで質問しているのはデータベース設計であるため、これは問題ではありません。
私の質問が明確でない場合は、私に知らせてください。さらに説明します。いつもありがとうございました。