1. 程式人生 > >關於權限設計的一點建議

關於權限設計的一點建議

tel adl 增刪改查 等等 class sta 權限 return urn

當我們為某個用戶設置某個功能的增刪改查,審核,等等權限的時候,又不想用多個字段來記錄此功能的權限時,可以考慮用類似枚舉值的形式來保存選擇的權限,

比如:

查看=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); }

運行結果

技術分享圖片

這樣就可以很方便的存儲多個權限到一個字段

關於權限設計的一點建議