有耐心就看完(还是算法重要)
用户初始权值:Enable = 0;
假如一个用户有第一项权力Select,则用户权值:Enable = Enable + 1;
假如一个用户有第二项权力Insert,则用户权值:Enable = Enable + 2;
假如一个用户有第三项权力Update,则用户权值:Enable = Enable + 4;
假如一个用户有第四项权力Delete,则用户权值:Enable = Enable + 8;
为什么依次+1、+2、+4、+8,而不是+1、+2、+3、+4呢?
假如是+1、+2、+3、+4:
假如一个用户有第一项权力Select,则用户权值:Enable = Enable + 1;
假如一个用户有第二项权力Insert,则用户权值:Enable = Enable + 2;
假如一个用户有第三项权力Update,则用户权值:Enable = Enable + 3;
假如一个用户有第四项权力Delete,则用户权值:Enable = Enable + 4;
那么当用户权值:Enable = 3时,你就无法判断用户到底是同时拥有
第一项权力Select和第二项权力Insert两项权利,还是仅拥有第三项权力Update,
前一种权值算法就可以避免这种情况。
但是当采用前一种权值算法时,怎样由用户的权值Enable快速知道用户拥有哪几项权
力呢?假如是用户权值Enable = 5,用户拥有第一项权力Select和第三项权力Update,
注意不拥有第二项权力Insert。
下面我将用户权力列表:
权力 拥有权力用户的权值Enable
SelectItem:( 1, 3, 5, 7, 9, 11, 13, 15 )
InsertItem:( 2, 3, 6, 7, 10, 11, 14, 15 )
UpdateItem:( 4, 5, 6, 7, 12, 13, 14, 15 )
DeleteItem:( 8, 9, 10, 11, 12, 13, 14, 15 )
可见并不是权值Enable大的用户就拥有“更多”的权力,
假如 :用户权值Enable = 3,用户拥有第一项权力(Select)和第二项权力(Insert),共两项权利,
用户权值Enable = 4,用户拥有第三项权力(Update),仅一项权利。
仔细观察“用户权力列表”:
SelectItem:( 1, 3, 5, 7, 9, 11, 13, 15 ): 1 = 0 + 2 的0次幂;3 = 2 的1次幂 + 2 的0次幂;5 = 2 的2次幂 + 2 的0次幂;
InsertItem:( 2, 3, 6, 7, 10, 11, 14, 15 ): 2 = 0 + 2 的1次幂;3 = 2 的0次幂 + 2 的1次幂;6 = 2 的2次幂 + 2 的1次幂;
UpdateItem:( 4, 5, 6, 7, 12, 13, 14, 15 ): 4 = 0 + 2 的2次幂;5 = 2 的0次幂 + 2 的2次幂;6 = 2 的2次幂 + 2 的2次幂;
DeleteItem:( 8, 9, 10, 11, 12, 13, 14, 15 ):8 = 0 + 2 的3次幂;9 = 2 的0次幂 + 2 的3次幂 10 = 2 的1次幂 + 2 的3次幂;
用户权力详解
时间: 2024-09-18 14:40:30
用户权力详解的相关文章
linux那点事儿(四)----用户管理详解
用户管理----用户信息与密码的配置文件 用户管理要学的内容很多,当然了,不会简单的放两个创建用户的命令,这样的文章太多了.我们来看两个用户管理中非常重要的配置文件吧! 我们来看看用户的相关配置文件都存放在什么地方. 用户信息文件: /etc/pass
Oracle用户profile详解
一.profile功能 oracle系统中的profile是用来对用户所能使用的数据库资源进行限制的. 二.profile参数详解 (1)查看数据库资源限制参数 SQL> select * from dba_profiles; PROFILE RESOURCE_NAME RESOURCE LIMIT ----------
云监控用户操作详解
1) 站点可用性监控 i. 选中某一种监控类型,创建监控项,并填写监控频率,重试几次报警等配置信息.同时根据不同的监控类型,还需要填写一些不同的配置信息(详见监控项设计); ii. 对服务器填加某些监控项,并配置报警组. 2) 服务器监控 i. 根据云监控Agent的安装手册,安装Agent(详见<云监控Agent指南>); ii. 用户可以选择创建自己的监控类型(详见<云监控插件编写规范>); iii. 或者从预定义的常用监控类型或者自己创建的监控类型中创建监控项并填写监控频
mongodb创建数据库和配置用户方法详解
1.安装mongodb 这步就不说了,大家自己去看linux/47932.htm">Centos安装MongoDB. 2.创建数据库 use tt 这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以我们还要执行下面的命令: db.usr.insert({'name':'tompig'}); db.usr.insert({'name':'tompig1','id':1}); 我是随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前我们只是想让数
如何提高网站用户体验详解
一.网站程序编写不规范 现在很多网站都是基于动态交互技术开发,很大程度上方便了网站内容的维护更新.但是动态数据存取技术,必然会用到很多判断.循环以及条件语句等.稍不留心就会造成判断语句忘记结束,循环语句忘记关闭等等.还有一个比较典型的疏忽是,读写数据的时候数据库教程打开后忘记关闭.如此这些都会导致网站运行速度慢,甚至出现无法正常运行等等.比如有时候,造成死循环后,网站打开后不停的消耗服务器资源,最终导致网站无法运行. 代码不规范的另外一个表现,是网站代码不够简洁,代码臃肿且废码严重.我们知道,通
WordPress中创建用户角色的相关PHP函数使用详解_php技巧
WordPress 默认有 "订阅者"."投稿者"."作者"."编辑" 和 "管理员" 五个用户角色,权限由低到高,但默认的五个角色可能不够我们用,这时可以使用 add_role() 函数创建一个角色. 用法 add_role( $role, $display_name, $capabilities ); 参数 $role (字符串)(必须)用户角色 ID 默认值:None $display_name (字
MySQL用户权限管理详解_Mysql
用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库.哪些表 2. 可以限制用户对哪些表执行SELECT.CREATE.DELETE.DELETE.ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户 一.用户授权 复制代码 代码如下: mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;
Bkh1.1.5建站系统功能概述与功能详解_常用工具
Bkh1.1.5功能详解 目录 一. Bkh1.1.5建站系统功能概述.... 3 二. 注册用户功能详解.... 4 1. 注册用户功能概述... 4 2. 怎样注册成为一个站点的用户... 4 3. 登陆站点找到管理菜单... 5 4. 用户设置功能... 6 5. 我的文件库功能... 9 6. 我自己的站点... 9 7. 我加入的站点... 12 8. 我拥有的角色... 13 9. 我的博客... 1
基于SQL Server OS的任务调度机制详解_MsSql
简介 SQL Server OS是在Windows之上,用于服务SQL Server的一个用户级别的操作系统层次.它将操作系统部分的功能从整个SQL Server引擎中抽象出来,单独形成一层,以便为存储引擎提供服务.SQL Server OS主要提供了任务调度.内存分配.死锁检测.资源检测.锁管理.Buffer Pool管理等多种功能.本篇文章主要是谈一谈SQL OS中所提供的任务调度机制. 抢占式(Preemptive)调度与非抢占式(non-Preemptive)调度 数据