これは、Webアプリケーション開発では非常に一般的なことです。私はそれを何度もやりました。
しかし、私はこのためのスキーマを設計する現在のプロジェクトで立ち往生しています。
私のアプリケーションには、最初に3種類のユーザー、たとえばSuperAdmin、Admin、および通常のユーザーが含まれます。
これらのユーザータイプをROLE_SUPERADMIN、ROLE_ADMIN、ROLE_USERなどのロールとして使用する予定です。
システムには多くの役割があります。実際、SuperAdminとAdminsはロールを作成し、それらのロールをユーザーに割り当てます。
問題は、
スーパー管理者には、許可p1、p2、およびp3があります。スーパー管理者は、他のスーパー管理者を作成できます。スーパー管理者は管理者を作成できます。スーパー管理者は、システムにユーザーを追加しません。
管理者は、権限p5、p6、およびp7を持つことができます。管理者は別の管理者を作成できません。管理者は他のユーザーを作成できます。管理者は、レポートビューアなどの役割を作成することもできます。
権限p1、p2、およびp3を持つスーパー管理者は、権限p5、p6、およびp7を持つ管理者を作成できる必要があります。私はそれを完全には得ていません。
論理的には、スーパーアドミン自体に権限p5、p6、およびp7がない場合、これらの権限を持つ管理者をどのように作成できますか?
これで適切なデザインを手伝ってください。
以下は私がこれまでに持っているデザインです。
USER
UserID RoleID
ROLE
RoleID RoleName
PERMISSION
PermissionID PermissionName
ROLE_PERMISSION RoleID PermissionID
ありがとう。