基于逻辑运算的简单权限系统(实现) JS 版

2016-02-19 10:21 2 1 收藏

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享基于逻辑运算的简单权限系统(实现) JS 版教程,希望对大家能有一点小小的帮助。

【 tulaoshi.com - Web开发 】

作者: slightboy, 时间: 2006-10-17
此篇为 JS 实现版本, 以前作已交待原理 故不在此多做解释
如需原理介绍 请查看 VBS 版.
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]);
        else
            return this.getValue(PermissionType.Read);
    }
    this.Write = function()
    {
        if (arguments.length  0)
            this.setValue(PermissionType.Write, arguments[0]);
        else
            return this.getValue(PermissionType.Write);
    }
    this.Delete = function()
    {
        if (arguments.length  0)
            this.setValue(PermissionType.Delete, arguments[0]);
        else
            return this.getValue(PermissionType.Delete);
    }
    this.getValue = function(permissionType)
    {
        return (this.Value & permissionType) == permissionType;
    }
    this.setValue = function(permissionType, value)
    {
        if (value)
            this.Value |= permissionType;
        else
            this.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 风格也可以选择这种写法.

来源:https://www.tulaoshi.com/n/20160219/1594361.html

延伸阅读
MySQL教程是:基于MySQL的数据库集群系统的实现。您的WebApp系统是否正在使用一个MySQL的数据库系统?您的客户是不是总是抱怨页面结果反馈的非常慢?您的MySQL系统的负载是不是总是维持在一个非常高的状态下?本文将为您提供一个分担MySQL系统的负载的方法,以及由此派生出来的一个MySQL-HA-Proxy的开发项目。使用本文提供的方法,您将以最小的...
标签: ASP
  摘要 网络办公已是现代企业发展的大势所趋。本文主要阐述了基于B/S结构的收发文管理系统的功能模块以及如何使用ASP和SQL Server解决一些相关的技术,其中包括系统的安全性问题。 引言 传统的手工办公方式已经无法满足现代办公的需求,收发文管理系统作为提高工作效率、规范办公制度,增强办公的透明性,实现信息、文档资...
标签: Web开发
JavaScript语言是基于对象的(Object-Based),而不是面向对象的(object-oriented)。之所以说它是一门基于对象的语言,主要是因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言所创建的复杂对象统一起来,从而形成一个非常强大的对象系统。 虽然JavaScript语言是一门基于对象的,但它还是具有一些面向对象...
标签: Web开发
打包下载 html代码: 代码如下: div ulli rel="a1"b个人资料/b/lili rel="a2"b帐号维护/b/lili rel="a3"b在来个/b/lili/li/ul dl11111111111111111111111111111111 /dl dl 22222222222222222222222222222222222 /dl dl3333333333333333333333333333333333333 /dl /div js代码: 代码如下: $(function(){ $(".tabli").m...
标签: Web开发
鉴于安全性的考虑,不少网站在登录输入密码时都采用了软键盘,避免一些键盘记录工具和木马对击键的捕捉。项目中也有这个需求,就分享给大家了,贴个效果图上来。。有兴趣的朋友可以收藏。。..如果觉得功能有点庞大,只需要数字小键盘的朋友,可参考代码精简。 下载大键盘: http://www.cnblogs.com/Files/sccxszy/softKey.rar 小键盘:http://ww...

经验教程

449

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部