一些权限管理方面的文章
http://www.cnblogs.com/yukaizhao/archive/2007/04/15/user_role_action_permission.html?
六種不同需求的權(quán)限設(shè)計(jì)數(shù)據(jù)庫(kù)關(guān)系圖(從易到難)?
?
金色海洋的自然框架系列
http://www.cnblogs.com/jyk/archive/2009/06/06/1497616.html
?
?吉日嘎啦的
簡(jiǎn)單操作權(quán)限就一個(gè)函數(shù)足夠了,甚至5-6個(gè)表足夠可以了,沒必要搞那么復(fù)雜,也沒必要瞎搞誤人子弟啊
有句俗話叫“折騰來折騰去,又折騰回原點(diǎn)了”,這就對(duì)了,就應(yīng)該是回到最原點(diǎn)才是硬道理。
1.用戶表(有哪幾個(gè)用戶)
2.角色表(有哪幾個(gè)角色)
3.用戶角色關(guān)聯(lián)表(那些用戶屬于那些角色)
4.權(quán)限表(有哪幾個(gè)權(quán)限需要分配)
5.權(quán)限存儲(chǔ)表(用戶有哪些權(quán)限,角色有哪些權(quán)限,可以分開也可以和在一起)
就一個(gè)判斷權(quán)限函數(shù) 例如?
bool?IsAuthorization(String?userID,?String?permissionCode)? 基本上可以滿足要求了。
通常的需求分析
1.?各個(gè)頁(yè)面上的按就的操作,列的操作等。
CheckPermission(userID, “PageA.BtnAdd”) 有沒有對(duì)添加按鈕有操作權(quán)限?例如添加權(quán)限。
CheckPermission(userID, “PageA.BtnDelete”) 有沒有對(duì)添加按鈕有操作權(quán)限?例如添加權(quán)限。
CheckPermission(userID, “PageA.TableB.ColumnC”) 有沒有列C的查看權(quán)限。
2. 對(duì)數(shù)據(jù)表,字段的訪問權(quán)限控制等
CheckPermission(userID, “TableA”) 有沒有訪問這個(gè)表的權(quán)限。
CheckPermission(userID, “TableA.Access”)?
CheckPermission(userID, “TableA.Delete”)
CheckPermission(userID, “TableA.ColumnB”) 對(duì)列的訪問權(quán)限。
CheckPermission(userID, “TableA.ColumnB.Access”) 對(duì)列的訪問權(quán)限。
CheckPermission(userID, “TableA.ColumnB.Delete”) 對(duì)列的訪問權(quán)限。
。。。。。。 你想怎么來就怎么來吧,想怎么想象就怎么想象,好用簡(jiǎn)單是硬道理。
?
或者你封裝一下這個(gè)函數(shù)
CheckColumnPermission(String userID,?String table,?String column)
{
??? return CheckPermission(userID, “table.column.Access”)?
}
?
說白了,permissionCode 里你想寫啥都可以,都可以判斷,只是你合理的規(guī)劃命名方式就可以了,
沒必要搞太負(fù)責(zé)太折騰,真的一個(gè)簡(jiǎn)單的道理,可以做出非常復(fù)雜的東西來,不要把簡(jiǎn)單問題復(fù)雜化了,
吧復(fù)雜問題簡(jiǎn)單化才是硬道理,暫不討論數(shù)據(jù)集權(quán)限問題,就是對(duì)數(shù)據(jù)的過濾權(quán)限,那以超出本貼的討
論范圍。?
轉(zhuǎn)載于:https://www.cnblogs.com/jianjialin/archive/2009/06/16/1504380.html
總結(jié)
以上是生活随笔為你收集整理的一些权限管理方面的文章的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美女与野兽作者是谁啊?
- 下一篇: 利用JS中window.showModa