基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
作者: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 今天的课程就到这里,大家可以举一反三,下课... |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版的所有评论