久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    ASP.NET MVC4+EasyUI+EntityFrameWork5權限管理系統——數據庫的設計(一)

     ThinkTank_引擎 2014-02-19

      快一年沒寫博客了,這段時間感覺好迷茫,寫點博客,記錄一下自己的成長過程,希望對大家也有幫助

      先上圖

      一個用戶可以有多個角色,一個用戶可以屬于多個部門,這些都可以控制到權限,有時特殊要求,同樣的部門和角色不一定有同樣的權限(雖然可以定義多個角色來實現,但是如果這種情況多了就有點麻煩了),所以還弄了個基于用戶的權限,這樣就可以很靈活的控制了。

      每個模塊的包含那些可控制的權限,用一個int類型字段控制,下邊用一個枚舉位標示出了系統所有的可能的權限(根據實際情況)

      

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    using System;
    namespace Mydream.Permission.Common
    {
        [Flags]
        public enum Authority : int
        {
            /// <summary>
            /// 瀏覽權限
            /// </summary>
            Index = 1,
            /// <summary>
            /// 添加權限
            /// </summary>
            Add = 2,
            /// <summary>
            /// 編輯權限
            /// </summary>
            Edit = 4,
            /// <summary>
            /// 刪除權限
            /// </summary>
            Delete = 8,
            /// <summary>
            /// 搜索權限
            /// </summary>
            Search = 16,
            /// <summary>
            /// 審核權限
            /// </summary>
            Verify = 32,
            /// <summary>
            /// 移動權限
            /// </summary>
            Move = 64,
            /// <summary>
            /// 打印權限
            /// </summary>
            Print = 128,
            /// <summary>
            /// 下載權限
            /// </summary>
            Download = 256,
            /// <summary>
            /// 備份權限
            /// </summary>
            Backup = 512,
            /// <summary>
            /// 授權權限
            /// </summary>
            Grant = 1024,
            /// <summary>
            /// 查看詳細權限
            /// </summary>
            View = 2048,
            /// <summary>
            /// 導出權限
            /// </summary>
            Export = 4096
        }
    }

    這些枚舉值全部用的2的次冪,之所有這樣賦值,是為了用2進制來控制權限

    比如某個模塊(模塊A)有瀏覽、添加、編輯、刪除、打印的權限,那么這個模塊的int值=Index|Add|Edit|Delete|Print

     00000001(Index=2^0=1)

     00000010 (Add=2^1=2)

     00000011 3

     00000100(Edit=2^2=4)

     00000111 7

     00001000(Delete=2^3=8)

     00001111 15

     1000000 (Print=2^7=128)

     10001111 143

        最后的值其實就是1+2+4+8+128=143 所以這個模塊對應的權重就是143(這個只是說明這個模塊包含哪些功能)

      如果一用戶屬于角色A,角色A包含模塊A中的瀏覽和添加權限(1+4=5),那么這個角色A 就對應了  (角色A的ID 模塊A的ID 權重=5)

      我們的Action的命名按照枚舉那樣命名,然后每次操作的時候用這個權限INT值,然后if(INT值&Action命名的枚舉==Action命名的枚舉)如果為True說明有執行這個Action的權限

      由于權限管理系統還在業余學習研究中,很多還沒有實現,上面主要講解了數據庫的設計,后邊的實現會慢慢呈現,最近都很忙,也沒怎么寫這個業余學習的例子了,后續有更新會慢慢放上來,寫得不好請包涵,如有好的意見請賜教,謝謝!

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲精品中文av在线| 加勒比无码人妻东京热| 虎白女粉嫩尤物福利视频| 无码国产偷倩在线播放| 午夜色大片在线观看| 久久97精品久久久久久久不卡| 极品粉嫩国产18尤物在线观看| 国产精品久久国产精品99| 好紧好滑好湿好爽免费视频| 国产精品国产三级国快看| 亚洲 一区二区 在线| 噜噜久久噜噜久久鬼88| 再深点灬舒服灬太大了少妇| 最新亚洲人成网站在线影院| JIZZJIZZ亚洲日本少妇| 国产片AV国语在线观看手机版| AAA级久久久精品无码片| 成人免费A级毛片无码片2022| 亚洲国产精品久久久久久无码| 麻豆国产AV剧情偷闻女邻居内裤 | 无码AV无码天堂资源网影音先锋| 色屁屁WWW免费看欧美激情| 国产成人啪精品午夜网站 | 国产色视频一区二区三区| 亚洲另类丝袜综合网| 亚洲精品国产精品国自产观看| 疯狂做受XXXX高潮国产| 亚洲真人无码永久在线| 久久婷婷五月综合色国产免费观看| 国产99在线 | 亚洲| 无码人妻精品一区二区三区下载| 国产乱码1卡二卡3卡四卡5| 午夜无码电影888不卡| 国产偷国产偷亚洲清高APP| 国产精品不卡区一区二| 久久亚洲中文字幕伊人久久大| 久久综合久中文字幕青草| 麻豆精品一区二区综合av| 九九久久精品国产| 国产欲女高潮正在播放| 亚洲国产成人无码电影|