我正在使用需要用户权限和角色的 ms sql server 和 C# 开发和应用程序。目前,我创建了这样的表。
'privileges_table
PrivilegeID | PrivilegeName
1 | Create
2 | Update
3 | Delete
4 | View
Roles_Table
RolesID | RolesName | PrivilegeID | RolesGroup
1 Admin 1 | 1
2 Admin 2 | 1
3 Admin 3 | 1
4 Secretary 2 | 4
5 Remote User 4 | 5
User_Table
UserID | UserName | UserPass | RoleGroup
1 | Wale | m%^#@ | 1
2 | Jane | k*&%$# | 5
'
我该怎么做才能更好地管理它以减少冗余并仍然避免使用我的 c#/VB 进行过多编码? 感谢所有帮助。
最佳答案
您的 Roles 表中有一些冗余
权限表没问题(虽然这是最常见的权限表)
角色:
ID | Name
---+----------
1 | Admin
2 | Secretary
3 | Remote User
由于一个角色可以有多个权限,一个权限可以分配给多个角色,我们有一个 n:m(或多对多)关系,它由连接表解析
角色权限表
ID | RoleID | PrivilegeID
---+--------+-------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 2 | 2
5 | 3 | 4
关于命名风格的另一件事:如果你用单数或复数名称为你的表命名,请自己选择 - 不是复数形式,另一个是单数形式,下一个......好吧,我希望你明白了;)
关于c# - 如何使用 C#/VB(Web 窗体或 MVC)和 ms sql server 管理用户角色和权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15957698/