基于逻辑运算的简单权限系统(实现) JS 版
来源:互联网 发布:日本81端口活跃ip段 编辑:程序博客网 时间:2024/04/28 16:19
作者: slightboy, 时间: 2006-10-17
此篇为 JS 实现版本, 以前作已交待原理 故不在此多做解释
如需原理介绍 请查看 VBS 版.
首发于: http://cs.alienwave.cn/Topic/356.aspx
var PermissionType ={Read : 1,Write : 2,Delete : 4}function PermissionSetComponent(value){this.Value = value;this.getRead = function(){return this.getValue(PermissionType.Read);}this.setRead = function(value){this.setValue(PermissionType.Read, value);}this.Read = function(){if (arguments.length > 0)this.setValue(PermissionType.Read, arguments[0]);elsereturn this.getValue(PermissionType.Read);}this.Write = function(){if (arguments.length > 0)this.setValue(PermissionType.Write, arguments[0]);elsereturn this.getValue(PermissionType.Write);}this.Delete = function(){if (arguments.length > 0)this.setValue(PermissionType.Delete, arguments[0]);elsereturn this.getValue(PermissionType.Delete);}this.getValue = function(permissionType){return (this.Value & permissionType) == permissionType;}this.setValue = function(permissionType, value){if (value)this.Value |= permissionType;elsethis.Value &= ~permissionType;}}var PermissionSet = new PermissionSetComponent(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());function w(o){Response.Write(o +"<br />");}
注: 红色部分为 java 风格写法 不是本例所必须.
只是做一个展示, 如果你比较喜欢 java 风格也可以选择这种写法.
- 基于逻辑运算的简单权限系统(实现) JS 版
- 简单客户系统的权限控制实现
- 简单客户系统的权限控制实现
- 面试题 简单基于角色控制的权限管理系统
- 基于js的简单队列实现
- 基于Direct3D实现简单的粒子系统
- 基于Direct3D实现简单的粒子系统
- 基于ARM9的逻辑运算
- 基于身份验证票据的权限系统的实现
- 基于RBAC的权限管理系统的实现
- 基于RBAC的权限管理系统的实现
- 基于RBAC的权限管理系统的实现
- 基于RBAC的权限管理系统的实现--经典
- 基于身份验证票据的权限系统的实现
- 基于struts的权限控制——简单实现
- 用 C++ 实现基于 session 的权限管理系统
- 基于Jfinal实现的权限管理系统 JfinalUIB
- JS的逻辑运算符&& ||
- C 语言复习与提高--- VI. 编译预处理
- Redhat-Linux-Enterprise-AS4-Up2上安装Oracle amd64_db_9204
- 文哥要加肉泡姑娘了……
- 加速yum的下载
- 关于Unicode 和字符集的最基础的知识
- 基于逻辑运算的简单权限系统(实现) JS 版
- datakeyfield
- item.FindControl
- C 语言复习与提高---VII. 结构体与共用体
- 一流高手提问题
- Windows CE OAL层的结构与开发
- C 语言复习与提高---VIII. 文件
- [软件]测试要点总结
- visual studio 2005小tip之自动添加文件模版信息