基于邏輯運(yùn)算的簡(jiǎn)單權(quán)限系統(tǒng)(原理,設(shè)計(jì),實(shí)現(xiàn)) VBS 版
作者: slightboy, 時(shí)間: 2006-10-14
首發(fā)于: http://cs.alienwave.cn/Topic/329.aspx
看到好多同學(xué)權(quán)限判斷都是用字符串 然后或分割或截取
其實(shí)對(duì)于 允許/不允許(true/false) 這種的權(quán)限, 用邏輯運(yùn)算再恰當(dāng)不過(guò)了
聲明下: 本文針對(duì)入門(mén)和為掌握的同學(xué), 如果已經(jīng)懂了那可以無(wú)視了
可能意思表達(dá)的不是很清楚, 敬請(qǐng)?jiān)?
邏輯運(yùn)算符介紹:
And: 邏輯與
0 And 0 = 0
0 And 1 = 0
1 And 0 = 0
1 And 1 = 1
Or: 邏輯或
0 Or 0 = 0
0 Or 1 = 1
1 Or 0 = 1
1 Or 1 = 1
Xor: 異或
0 Xor 0 = 1
0 Xor 1 = 1
1 Xor 0 = 1
1 Xor 1 = 1
Not: 邏輯非
Not 1 = 0
Not 0 = 1
表達(dá)方式介紹:
1 表示 ture, 0 表示 false
舉二位為例
第一位 表示 Read 的權(quán)限, 第二位 表示 Write 的權(quán)限, 可以表示一下四種權(quán)限
00 Read(false) Write(false)
01 Read(true) Write(false)
10 Read(false) Write(true)
11 Read(true) Write(true)
運(yùn)算方式介紹:
還是繼續(xù)上面的例子
Read = 01(1), Write = 10(2)
00(0) And Read = 0
01(1) And Read = Read
10(2) And Read = 0
11(3) And Read = Read
00(0) And Write = 0
01(1) And Write = 0
10(2) And Write = Write
11(3) And Write = Write
下面給出示例代碼:
權(quán)限定義類(lèi)(要有枚舉類(lèi)型該多好啊...)
Class PermissionTypePublic ReadPublic WritePublic DeletePrivate Sub Class_InitializeRead = 1Write = 2Delete = 4End SubEnd Class
權(quán)限類(lèi)
Class PermissionSetComponentPrivate intValuePublic Property Get Read()Read = GetValue(Permission.Read)End PropertyPublic Property Let Read(arg)Call SetValue(Permission.Read, arg)End PropertyPublic Property Get Write()Write = GetValue(Permission.Write)End PropertyPublic Property Let Write(arg)Call SetValue(Permission.Write, arg)End PropertyPublic Property Get Delete()Delete = GetValue(Permission.Delete)End PropertyPublic Property Let Delete(arg)Call SetValue(Permission.Delete, arg)End PropertyPublic Property Get Value()Value = intValueEnd PropertyPublic Property Let Value(arg)intValue = argEnd PropertyPublic Function GetValue(intType)GetValue = (Value and intType) = intTypeEnd FunctionPublic Sub SetValue(intType, boolValue)IF (boolValue) ThenValue = Value Or intTypeElseValue = Value And (Not intType)End IFEnd SubEnd Class
運(yùn)用示例代碼:
Dim Permission : Set Permission = new PermissionTypeDim PermissionSet : Set PermissionSet = new PermissionSetComponentPermissionSet.Value = 0w("Read:")PermissionSet.Read = falsew(PermissionSet.Value &" "& PermissionSet.Read)PermissionSet.Read = truew(PermissionSet.Value &" "& PermissionSet.Read)w("Write:")PermissionSet.Write = falsew(PermissionSet.Value &" "& PermissionSet.Write)PermissionSet.Write = truew(PermissionSet.Value &" "& PermissionSet.Write)w("Delete:")PermissionSet.Delete = falsew(PermissionSet.Value &" "& PermissionSet.Delete)PermissionSet.Delete = truew(PermissionSet.Value &" "& PermissionSet.Delete)Function w(o)Response.Write("<br />"& o)End Function
今天的課程就到這里, 大家可以舉一反三, 下課...
欄 目:vb
下一篇:VBS中轉(zhuǎn)換二進(jìn)制數(shù)據(jù)為字符串常用辦法
本文標(biāo)題:基于邏輯運(yùn)算的簡(jiǎn)單權(quán)限系統(tǒng)(原理,設(shè)計(jì),實(shí)現(xiàn)) VBS 版
本文地址:http://mengdiqiu.com.cn/a1/vb/7964.html
您可能感興趣的文章
- 01-10VBScript教程 第六課VBScript運(yùn)算符
- 01-10VBS教程:運(yùn)算符-減運(yùn)算符 (-)
- 01-10VBS教程:運(yùn)算符-運(yùn)算符優(yōu)先級(jí)
- 01-10VBS教程:運(yùn)算符-Xor 運(yùn)算符
- 01-10VBS教程:運(yùn)算符-Or 運(yùn)算符
- 01-10VBS教程:運(yùn)算符-Not 運(yùn)算符
- 01-10VBS教程:運(yùn)算符-乘運(yùn)算符 (*)
- 01-10VBS教程:運(yùn)算符-邏輯運(yùn)算符
- 01-10VBS教程:運(yùn)算符-運(yùn)算符概述
- 01-10VBS教程:運(yùn)算符-運(yùn)算符(+)


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱(chēng)qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?