亂彈權(quán)限系統(tǒng)續(xù)一
原文在這:http://www.tkk7.com/RongHao/archive/2006/07/03/56258.html
仔細(xì)分析一,二,三,四權(quán)限背后的實(shí)質(zhì)可以發(fā)現(xiàn):
一系統(tǒng)權(quán)限的概念有一些冗余,很難想象這樣一種情況:你已經(jīng)有了子系統(tǒng)下的很多權(quán)限,結(jié)果因?yàn)闆](méi)有模塊權(quán)限而使得無(wú)法使用該模塊進(jìn)行任何操作,分配權(quán)限的人要非常小心才行.這個(gè)世界已經(jīng)夠復(fù)雜了,不要再給開(kāi)發(fā),部署人員增加復(fù)雜度了.很明白的,這個(gè)權(quán)限是不需要資源的權(quán)限
二數(shù)據(jù)庫(kù)操作權(quán)限的概念,有一點(diǎn)疑惑,不知道為什么要建立這樣的一個(gè)概念,和行級(jí)權(quán)限有什么區(qū)別呢? 從你的上下文理解來(lái)看,似乎是這樣子的:有操作X表的業(yè)務(wù),如果用戶(hù)有增加權(quán)限,則可以任意增加數(shù)據(jù),如果用戶(hù)有編輯權(quán)限,則可以編輯任意數(shù)據(jù).實(shí)際上對(duì)應(yīng)標(biāo)準(zhǔn)權(quán)限模型為:不需要限定資源的操作,即不需要資源標(biāo)識(shí)的權(quán)限.
三行級(jí)數(shù)據(jù)權(quán)限,這個(gè)概念很直白,對(duì)應(yīng)標(biāo)準(zhǔn)權(quán)限模型就是: 資源(行數(shù)據(jù))+操作
四列級(jí)數(shù)據(jù)權(quán)限,由于不是針對(duì)某特定行數(shù)據(jù),所以它也是無(wú)資源型權(quán)限
就這樣,所有的權(quán)限最終可劃為需要資源標(biāo)識(shí)和不需要資源標(biāo)識(shí),換句話(huà)說(shuō),所有權(quán)限可劃分為控制某些集合的權(quán)限和控制單體的權(quán)限兩種,在某些時(shí)候,也稱(chēng)之為 功能權(quán)限和數(shù)據(jù)權(quán)限
談到把權(quán)限分給別人,很自然的就是如何控制權(quán)限的權(quán)限的問(wèn)題了,很拗口,是吧?仔細(xì)想想,這樣很直觀,也沒(méi)有什么后遺癥,權(quán)限自遞歸控制和自解釋,真是一個(gè)完美的循環(huán).
有愛(ài)思考的同學(xué)想深了,會(huì)覺(jué)得非常麻煩,難實(shí)現(xiàn).當(dāng)然,概念上一回事,具體實(shí)現(xiàn)上可以是另一回事,可以做很多的變通來(lái)達(dá)到目的.只要保持概念上的簡(jiǎn)單性,就足以使得非常多的人得以解脫了。
另外,作為架構(gòu)設(shè)計(jì)者,非常非常不贊成動(dòng)輒就把很底層的概念扯進(jìn)高層設(shè)計(jì)中(例如行級(jí),數(shù)據(jù)庫(kù)什么的),很容易把自己和別人搞胡涂。
可以最近狀態(tài)不好,要不好好blog一篇,8過(guò),有句話(huà)怎么說(shuō)來(lái)著:“都素那浮云而已。。。”