系统将有两种类型的用户。管理员和普通用户。管理员只能访问产品。如果管理员可以访问产品A,则意味着他也可以访问其所有子产品。
普通用户只能访问子产品(一个或多个)。
添加屏幕管理员用户将下载产品,而添加用户的屏幕将显示子产品下拉。
产品管理员将添加产品子用户。
管理员用户和普通用户都会有一个表,因为其他所有用户都是相同的。
请帮忙。
答案 0 :(得分:1)
你基本上是在看这个:
SystemUser: Id, AccountName
SystemRole: Id, RoleName
UserRole: SystemUserId, SystemRoleId
Product: Id, ParentId, Name
Product
将在ParentId
上进行自我引用。如果它不是子类别,则ParentId
应为NULL
。您希望未定义SystemRole
"Admin"
的任何人无法访问任何Product
NULL
的{{1}}。
ParentId
是association table,提供UserRole
与M:N
的{{1}}关系。即使每个用户都只有一个角色,最好现在以这种方式设置结构,以便将来更容易扩展应用程序。