基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
发布时间:2016-12-28 来源:查字典编辑
摘要:作者:slightboy看到好多同学权限判断都是用字符串然后或分割或截取其实对于允许/不允许(true/false)这种的权限,用逻辑运算再...

作者:slightboy

看到好多同学权限判断都是用字符串然后或分割或截取

其实对于允许/不允许(true/false)这种的权限,用逻辑运算再恰当不过了

声明下:本文针对入门和为掌握的同学,如果已经懂了那可以无视了

可能意思表达的不是很清楚,敬请原谅.

逻辑运算符介绍:

And:逻辑与

0And0=0

0And1=0

1And0=0

1And1=1

Or:逻辑或

0Or0=0

0Or1=1

1Or0=1

1Or1=1

Xor:异或

0Xor0=0

0Xor1=1

1Xor0=1

1Xor1=0

Not:逻辑非

Not1=0

Not0=1

表达方式介绍:

1表示ture,0表示false

举二位为例

第一位表示Read的权限,第二位表示Write的权限,可以表示一下四种权限

00Read(false)Write(false)

01Read(true)Write(false)

10Read(false)Write(true)

11Read(true)Write(true)

运算方式介绍:

还是继续上面的例子

Read=01(1),Write=10(2)

00(0)AndRead=0

01(1)AndRead=Read

10(2)AndRead=0

11(3)AndRead=Read

00(0)AndWrite=0

01(1)AndWrite=0

10(2)AndWrite=Write

11(3)AndWrite=Write

下面给出示例代码:

权限定义类(要有枚举类型该多好啊...)

ClassPermissionType

PublicRead

PublicWrite

PublicDelete

PrivateSubClass_Initialize

Read=1

Write=2

Delete=4

EndSub

EndClass

权限类

ClassPermissionSetComponent

PrivateintValue

PublicPropertyGetRead()

Read=GetValue(Permission.Read)

EndProperty

PublicPropertyLetRead(arg)

CallSetValue(Permission.Read,arg)

EndProperty

PublicPropertyGetWrite()

Write=GetValue(Permission.Write)

EndProperty

PublicPropertyLetWrite(arg)

CallSetValue(Permission.Write,arg)

EndProperty

PublicPropertyGetDelete()

Delete=GetValue(Permission.Delete)

EndProperty

PublicPropertyLetDelete(arg)

CallSetValue(Permission.Delete,arg)

EndProperty

PublicPropertyGetValue()

Value=intValue

EndProperty

PublicPropertyLetValue(arg)

intValue=arg

EndProperty

PublicFunctionGetValue(intType)

GetValue=(ValueandintType)=intType

EndFunction

PublicSubSetValue(intType,boolValue)

IF(boolValue)Then

Value=ValueOrintType

Else

Value=ValueAnd(NotintType)

EndIF

EndSub

EndClass

运用示例代码:

DimPermission:SetPermission=newPermissionType

DimPermissionSet:SetPermissionSet=newPermissionSetComponent

PermissionSet.Value=0

w("Read:")

PermissionSet.Read=false

w(PermissionSet.Value&""&PermissionSet.Read)

PermissionSet.Read=true

w(PermissionSet.Value&""&PermissionSet.Read)

w("Write:")

PermissionSet.Write=false

w(PermissionSet.Value&""&PermissionSet.Write)

PermissionSet.Write=true

w(PermissionSet.Value&""&PermissionSet.Write)

w("Delete:")

PermissionSet.Delete=false

w(PermissionSet.Value&""&PermissionSet.Delete)

PermissionSet.Delete=true

w(PermissionSet.Value&""&PermissionSet.Delete)

Functionw(o)

Response.Write("<br/>"&o)

EndFunction

今天的课程就到这里,大家可以举一反三,下课...

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新vbs学习
热门vbs学习
脚本专栏子分类