使用枚举结合二进制字符串实现的权限判断

对于一个表单 有以下典型的权限

读 新增 修改 删除

我们可以在数据库中直接 按照 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)//读取权限

 

 

posted @ 2014-02-21 16:46  YLWS  阅读(342)  评论(0编辑  收藏  举报