权限设计中的数据灵活存储设计策略参考[以不变应万变]
趁博客園好用抓緊發表一篇文章,我們從3個方面來解決權限的數據存儲問題;權限的定義、操作權限的存儲、數據集權限的存儲問題等3個方面來考量。
?
1:權限定義表:
首先權限的定義需要一個表來存儲,這樣定義權限相對靈活方便無限擴展,前幾篇文章里也詳細闡述這方面設計的文章,有興趣的可以參考。
?
?
?
2:操作權限的存儲:
?
用戶?à?擁有某些操作權限
角色?à?擁有某些操作權限
……
?
?
?
數據都存儲在一個物理表,可以用視圖的方式映射出用戶的操作權限、角色的操作權限。
?
?
用戶操作權限的存儲視圖
?
?
角色操作權限的存儲視圖
?
這是數據表中的真實數據,是以分類的方式存儲了權限數據,例如User、Role是其中的分類。分類+主鍵 == 定義某個具體的實體,例如用戶、角色等等。
?
?
?
3:數據集權限的存儲:也稱為范圍權限、記錄權限。
?
用戶?à 對某些用戶?à 擁有某個操作權限
角色?à 對某些用戶?à 擁有某個操作權限
用戶?à 對某些菜單?à 擁有某個操作權限
角色?à 對某些菜單?à 擁有某個操作權限
??? ……
????
?
?? 同樣也是用了分類的思想,存儲了各種數據庫權限數據。這樣設計的好處是,權限的邏輯比較復雜、擴展了也沒多大必要修改表結構,以不變應對萬變。缺點就是不夠直觀,不太好理解,有些繞。
?
?
?
?
?
?
?
?
將權限管理、工作流管理做到我能力的極致,一個人只能做好那么很少的幾件事情。About
吉日嘎拉(蒙古語為吉祥如意),2000年畢業于黑龍江大學計算機系軟件專業,目前定居杭州,典型的IT軟件土鱉一個,外號“軟件包工頭”。
?
通用權限管理系統組件(GPM - General Permissions Manager)自2003年開始發布,目前是國內注冊用戶和免費盜版用戶最多的權限管理系統,是各種信息管理系統開發中徹底的權限解決方案。本組件支持多種主流數據庫(Oracle、sqlsever、db2、mysql),功能強大,使用方便,代碼簡潔,思路嚴謹,被廣大支持者稱為權限管理系統中的“走火入魔級權限管理系統”。?
精心維護通用權限管理系統組件(GPM - General Permissions Manager)有8年多,3年的不斷推廣,20萬行經典的業務邏輯積累,經過上萬次的調試修正,經歷了四百個付費客戶,上百軟件公司的實戰開發。
11年以上開發經驗,外企工作5年,上市公司3年,獨立經營軟件公司2年,主持研發部門管理工作4年以上。
將權限管理、工作流做到我能力的極致,一個人只能做好那么很少的幾件事情。
QQ:252056973,Mail:jirigala_bao@hotmail.com
通用權限管理模塊的嚴謹設計定位、精心編碼實現、不斷維護推廣、持續優化改進,主要是為了實現一個可以高度重復利用勞動成果的工具軟件并×××給所需的人們,另想成為國人值得驕傲的知名軟件功能模塊。
可供國內管理類開發人員在日常工作中進行靈活二次開發利用的模塊,開發管理類軟件的必備工具之一,我們的目標就是讓程序員早點兒回家休息。
淘寶店地址:http://jirigala.taobao.com
轉載于:https://blog.51cto.com/jirigala/809494
總結
以上是生活随笔為你收集整理的权限设计中的数据灵活存储设计策略参考[以不变应万变]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: inline函数学习笔记
- 下一篇: 环路