麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

巧妙運用二進制驗證權限

2019-11-14 13:31:27
字體:
來源:轉載
供稿:網友

來源: http://zxlovenet.VEVb.com 

在權限分配中有多個權限級別,不同用戶分別有多個不同的權限。

論壇的權限:

查看、發帖、投票、搜索

用戶的權限:

用戶A:查看、發帖

用戶B:查看

用戶C:查看、發帖、投票、搜索

分析:

有四種不同的權限級別,總共2^4種權限分配方式。

 

像這樣權限等級劃分和不同級別用戶的權限分配采用二進制方式權限分配驗證方式是最好的選擇。即每一個操作權限都用一個二進制數表示(1、10、100、1000)。總共的權限種類有2^n種,n即代表權限類別。在C#中long類型有64位,所以總共有64類權限,2^64種權限分配方式。權限的分配、刪除、查看都采用二進制運算實現。

 

long userrolevalue;//用戶的操作權限

long oPRolevalue;//一個操作的權限

 

1.權限的分配(或運算)

userrolevalue = userrolevalue | oprolevalue

 

(00001110)2=(00000010)2|(00000100)2|(00001000)2

 

2、權限的刪除(求補、與運算)
userrolevalue = userrolevalue & (~oprolevalue)

 

 

3、權限的驗證(與運算)

(userrolevalue & oprolevalue) == oprolevalue

(00000101)2 &( 00000011)2 ==(00000001)2

如果通過驗證則具有相應類別的權限。

 

此驗證方法,還可以用在菜單權限的驗證上來。根據要劃分的權限等級數量可以選擇相應的數據類型,比如int類型默認的是32位的,short是16位的。

 

附:邏輯(布爾型)運算符用于對bool型的結果的表達式進行運算,運算的結果都是bool型。其運算結果如下所示:

 

運算符 運算 例子 結果
&AND(與)false&trueFALSE
|OR(或)false|trueTRUE
^XOR(異或)false^trueTRUE
!NOT(非)!falseTRUE
&&AND(短路)false&&trueFALSE
||OR(短路)false||trueTRUE

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美巨乳在线观看 | 男女生羞羞视频网站在线观看 | 亚洲一级网站 | 99re热视频这里只精品 | 日韩精品中文字幕一区二区三区 | 欧美视频国产 | 亚洲一区二区三区视频免费 | 久久免费视频在线 | 91情侣在线偷精品国产 | v天堂在线视频 | 香蕉成人在线视频 | 欧美人与牲禽动交精品一区 | 欧美高清在线精品一区二区不卡 | 日本欧美一区二区三区在线观看 | 在线观看精品视频 | 成人国产视频在线观看 | 国产91中文字幕 | 久久99国产视频 | 亚洲一区中文字幕 | 亚洲第一视频 | 国产精品久久999 | 成人18免费观看 | 成人羞羞在线观看网站 | 茄子福利视频 | 亚洲一区二区国产 | 人成久久 | 久久精品一级片 | 粉嫩粉嫩一区二区三区在线播放 | 91精品国产乱码久久久久 | 欧美性生交xxxxx久久久 | 国产成人精品一区二区视频免费 | 91精品久久久久久久久 | 欧美一级做a | 精品国产乱码一区二区三区四区 | 久久生活片 | 日韩一级视频 | 久久免费视频一区 | 性 毛片| 亚洲九草 | 中国女人内谢69xxxx天美 | 成人三级视频网站 |