【发布时间】:2012-05-03 17:35:15
【问题描述】:
我们正在重新考虑将Flag 属性用于Enum,而不是将每个权限拆分为单独的列或sql server 表,以用于按位操作。我们的应用程序定义了访问资源(读取、修改、更新)的端点(不是来自其他服务的端点),并且每个用户都被授予权限,例如 Bob has permissions to Read, Modify resource X 所以当 bob 来访问这个资源时,我们检查 bob 是否有权限 x .现在我们将在哪里应用这一点很清楚,这是我的疑问
假设 Bob 使用标记的枚举对资源具有读、写、删除权限,我会这样做
Permission.Read | Permission.Write | Permission.Delete是按位与整数还是另一个枚举的最终结果?对于在数据库表中存储此权限,列应为
integer?如果问题 1 的答案是
Enum,那么我是否应该在Permissions枚举上定义另一个属性,它表示按位和运算的整数值?
disclaimer:示例中提到的 Bob 并不代表 Stack Overflow 网站的任何用户或任何人。这只是另一个角色
【问题讨论】:
标签: c# .net permissions enums flags