关于权限设计的一点建议
Posted bfyx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于权限设计的一点建议相关的知识,希望对你有一定的参考价值。
当我们为某个用户设置某个功能的增删改查,审核,等等权限的时候,又不想用多个字段来记录此功能的权限时,可以考虑用类似枚举值的形式来保存选择的权限,
比如:
查看=1
新增=2
修改=4
删除=8
审核=16
发布=32
当用户的权限值=6的时候 我们就知道他拥有新增和修改权限,当=33的时候 就知道拥有查看和发布权限,具体计算可参考下面的代码
static void Main(string[] args) { while (true) { Console.WriteLine("输入数字:"); List<int> lst = new List<int>(); GetNum(int.Parse(Console.ReadLine()), lst); Console.WriteLine("结果:" + string.Join(" ", lst)); } Console.ReadKey(); } private static void GetNum(int intNum, List<int> lst) { if (intNum <= 0) return; double dec = Math.Log(intNum) / Math.Log(2); int intMax = (int)dec; int intMaxNum = (int)Math.Pow(2, intMax); lst.Add(intMaxNum); intNum = intNum - intMaxNum; GetNum(intNum, lst); }
运行结果
这样就可以很方便的存储多个权限到一个字段
以上是关于关于权限设计的一点建议的主要内容,如果未能解决你的问题,请参考以下文章