我正在开发一个应用程序,其中用户具有使用不同功能的不同权限(例如,读取,创建,下载,打印,批准等).预计权限列表不会经常更改.我有几个如何在数据库中存储这些权限的选项.
选项2在哪些情况下更好?
使用关联表.
User ---- UserId (PK) Name Department
Permission ---- PermissionId (PK) Name
User_Permission ---- UserId (FK) PermissionId (FK)
为每个用户存储位掩码.
User ---- UserId (PK) Name Department Permissions
[Flags]
enum Permissions {
Read = 1,
Create = 2,
Download = 4,
Print = 8,
Approve = 16
}
Run Code Online (Sandbox Code Playgroud)