我有以下表格
UserRights - This table contains extra role selected for the user has been defined.
RoleRights - Default roles defined by the users
UserRole - To map the user and their default role
Roles - Role name (ID = Primary Key)
UserMaster - Primary User table (ID = Primary Key)
ModuleMaster - For Module (ID = Primary Key)
FunctionMaster - For Function (ID = Primary Key, ModuleID = FK)
SubFunctionMaster - For SubFunction (ID = Primary Key, FunctionID = FK)
条件:用户必须是ROLE的一部分,只有在需要时才能选择额外的角色。
| UserMaster |
|------------|
| ID (PK) |
| UserRights |
|---------------------|
| UserID (FK) |
| ModuleID (FK) |
| FunctionID (FK) |
| SubFunctionID (FK) |
| RoleRights |
|---------------------|
| RoleID (FK) |
| ModuleID (FK) |
| FunctionID (FK) |
| SubFunctionID (FK) |
| UserRole |
|---------------|
| UserID (FK) |
| RoleID (FK) |
现在,在表 UserRights 中,我们在 RoleRights 表格中提供了合并的数据结果集,并为该特定内容提供了另外的 SubFunctionID 授权用户。
我们只需列出所有用户在表 UserRights 中另外提供的行,并跳过 UserRights 和中可用的匹配行RoleRights ,根据表格 UserRole 和 RoleRights 与 UserRights 之间的映射,为其所属的特定用户所扮演的角色强>