成都創(chuàng)新互聯(lián)網(wǎng)站改版中如給廣大用戶帶來不便請(qǐng)諒解! 創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設(shè) 企業(yè)網(wǎng)站制作 精美網(wǎng)頁設(shè)計(jì) 網(wǎng)站建設(shè)服務(wù)熱線:028-869 2222 0
域名注冊(cè)
虛擬主機(jī)
網(wǎng)站建設(shè)
企業(yè)郵局
- 域名相關(guān)知識(shí)及購買
- 域名解析
- 網(wǎng)址URL轉(zhuǎn)發(fā)
- 轉(zhuǎn)入轉(zhuǎn)出及過戶
- 域名交易
網(wǎng)絡(luò)營(yíng)銷
網(wǎng)站備案
- 域名相關(guān)知識(shí)及購買
- 域名解析
- 網(wǎng)址URL轉(zhuǎn)發(fā)
- 轉(zhuǎn)入轉(zhuǎn)出及過戶
- 域名交易
服務(wù)器租用
網(wǎng)站建設(shè):權(quán)限設(shè)計(jì)及算法
- 王虎 文章來源:網(wǎng)站建設(shè) 點(diǎn)擊數(shù):861 更新時(shí)間:2009-7-16
-
權(quán)限設(shè)計(jì)及算法
權(quán)限設(shè)計(jì)
大概有這幾種模式:
用戶+組+角色+權(quán)限、 用戶+組+權(quán)限、 用戶+角色+權(quán)限、 用戶+權(quán)限
最近看了別人的設(shè)計(jì)方法,大多以“整數(shù)”來表示權(quán)限值,如添加、瀏覽、刪除和修改,分別用1、2、4、8這幾個(gè)整數(shù)來代替,不過,各人的做法有所不同,舉例如下:
1.用2的n次冪組成權(quán)限值的集合,如1、2、4、8、16...,某用戶的權(quán)限值為其子集中的整數(shù)之和,如7=1+2+4,5=1+4。如果要從數(shù)據(jù)庫檢索包含某幾種權(quán)限的用戶,則先把這幾種權(quán)限值相加,假設(shè)和為k,然后select * from table where 1 and 用戶權(quán)限值 = 'k';如果要判斷某用戶有哪些權(quán)限,則取出其權(quán)限值k 分別用k&1,K&2,K&4,k&16...,如果為真,則 表示有值等于“&”右邊整數(shù)的權(quán)限,例如,如果k&4為真,則此用戶有權(quán)限表中值等于4的權(quán)限;
2.用質(zhì)數(shù)2、3、5、 7、11...組成權(quán)限集合,某用戶的權(quán)限為其子集中各整數(shù)的乘積,如 210 = 2*3*5*7,我覺得這種方法很有趣,難點(diǎn)在于如何分解質(zhì)因數(shù);但我有些不認(rèn)同原作者的提法,他認(rèn)為權(quán)限之間可能存在包含關(guān)系,如某用戶有刪除權(quán)限,則其一定有瀏覽權(quán)限,要不然就沒法刪除,事實(shí)確實(shí)是這樣,不過我認(rèn)為這樣太復(fù)雜了,容易出錯(cuò),我覺得權(quán)限最好是“原子”的,互不干擾,也就是說某用戶有刪除權(quán)限而沒瀏覽權(quán)限則其無法進(jìn)行刪除操作,因?yàn)樗床坏綎|西,解決這個(gè)矛盾的關(guān)鍵是在給用戶賦權(quán)時(shí),把瀏覽權(quán)限也賦給他;
3.不用整數(shù),而是用“向量表”方法(也許我說的不一定對(duì)),把所有可能的權(quán)限按一定的順序排列,如添加、瀏覽、修改、刪除...,用戶的權(quán)限值為固定100位長(zhǎng)度的字符串,如100010100001....01,從左起每一位對(duì)應(yīng)一種操作權(quán)限,如果有這種權(quán)限,則此位的值為1,反之,則為0,作者之所以把用戶權(quán)限值固定為100位,我想是考慮到升級(jí)問題,但我認(rèn)為這還不夠科學(xué),我認(rèn)為用戶的權(quán)限值長(zhǎng)度應(yīng)小于權(quán)限個(gè)數(shù),舉例如下:權(quán)限排列表:添加、瀏覽、修改、刪除,用戶A有添加和瀏覽的的權(quán)限,則其權(quán)限值為11,用戶B有瀏覽和修改的權(quán)限則其權(quán)限值為011,用戶C有瀏覽和刪除的權(quán)限則其權(quán)限值為0101,這樣設(shè)計(jì)的好處為:當(dāng)權(quán)限表中增加別的權(quán)限時(shí),不會(huì)影響用戶表或角色表;
4. 我曾經(jīng)的做法,在后臺(tái)管理中把權(quán)限分為兩大類:欄目權(quán)限和操作權(quán)限,每個(gè)欄目對(duì)應(yīng)一個(gè)目錄,操作權(quán)限細(xì)分為瀏覽、添加、修改和刪除,用戶進(jìn)入系統(tǒng)后首先判斷有沒有欄目權(quán)限,然后判斷有沒有操作權(quán)限,判斷欄目權(quán)限相對(duì)簡(jiǎn)單一些,首先獲取訪問頁面的路徑path,然后分解出目錄,對(duì)應(yīng)用戶擁有的目錄權(quán)限,如果此目錄包含在用戶有權(quán)管理的目錄數(shù)組中(從數(shù)據(jù)庫取出),則其有進(jìn)入此目錄的權(quán)限,否則,沒有,然而,在判斷操作權(quán)限好象有些麻煩,但突然想到添加、瀏覽、修改和刪除與我的文件命名規(guī)則是基本是對(duì)應(yīng)的,但有點(diǎn)不同的是,我把添加和刪除的功能合并在一個(gè)文件中了,例如文件名為 proAddEdit.php,幸好意識(shí)到修改文件時(shí)多了個(gè)傳遞參數(shù)id,于是,我用正則解決了這個(gè)問題,今天看來,這種方法似乎過時(shí)了,因?yàn)椴贿m應(yīng)面向 對(duì)象的思想和用框架體系來開發(fā)系統(tǒng)
- 上一篇文章:成都網(wǎng)站制作公司講述做網(wǎng)站需要什么?
下一篇文章:網(wǎng)站建設(shè)前應(yīng)該必須知道一些專業(yè)術(shù)語
服務(wù)電話:028-86922220 13518219792 公司地址:成都市太升南路288號(hào)錦天國際A幢1002號(hào)
支持信箱:service@cdxwcx.com 版權(quán)所有:創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)網(wǎng)絡(luò)公司 蜀ICP備13010860號(hào)
創(chuàng)新互聯(lián)成都網(wǎng)絡(luò)公司:成都網(wǎng)站設(shè)計(jì),成都網(wǎng)站制作,成都網(wǎng)站建設(shè),成都網(wǎng)頁制作,成都網(wǎng)頁設(shè)計(jì),成都企業(yè)網(wǎng)站建設(shè),網(wǎng)站要有實(shí)用性
99少妇偷拍视频在线|
午夜精品麻豆视频91|
日韩精品免费一区三区|
日韩免费成人福利在线|
视频一区二区黄色线观看|
91免费一区二区三区|
午夜精品黄片在线播放|
久久久免费精品人妻一区二区三区
|
日韩欧美黄色一级视频|
日韩中文字幕狠狠人妻|
欧美一区二区黑人在线|
亚洲少妇人妻一区二区|
国产三级欧美三级日韩三级|
人妻少妇系列中文字幕|
国产又色又爽又黄又大|
国产中文另类天堂二区|
日本中文在线不卡视频|
青草草在线视频免费视频|
丰满人妻一二区二区三区av|
国产欧美日韩精品一区二|
亚洲国产av国产av|
精品视频一区二区不卡|
人体偷拍一区二区三区|
麻豆tv传媒在线观看|
久久精品欧美一区二区三不卡|
日本美国三级黄色aa|
在线日本不卡一区二区|
欧美成人黄色一区二区三区|
我要看日本黄色小视频|
精品国产av一区二区三区不卡蜜|
国内女人精品一区二区三区|
国产精品一区二区传媒蜜臀|
狠狠干狠狠操在线播放|
国产欧美韩日一区二区三区|
欧美人禽色视频免费看|
91亚洲精品国产一区|
日韩欧美一区二区黄色|
国产乱人伦精品一区二区三区四区|
精品国产亚洲一区二区三区|
亚洲内射人妻一区二区|
日本和亚洲的香蕉视频|