使用枚举结合二进制字符串实现的权限判断
对于一个表单 有以下典型的权限
读 新增 修改 删除
我们可以在数据库中直接 按照 0101存储,0表示无权限,1表示有权限。
做权限判断时,先创建一个对应的权限枚举
[Flags] public enum Role { Read = 1, Update = 2, Add = 4, Delete = 8 }
对于数据库中存储的权限字段,先做补全操作,然后按照二进制转为int类型,再转为枚举类型.
var role = (Role)Convert.ToInt32(right.PadRight(4), 2)//补全之后转为二进制
if ((role & Role.Read) != 0)//读取权限