专栏首页我的博客位运算权限控制

位运算权限控制

大家玩Linux的时候应该知道读1写2执行4,其实这样的数据都是因为位运算

比如:在网站中经常使用的权限控制(增删改的权限)[很多大公司都是使用这个]

使用三位表示增删改,对应关系如图

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

这个列表大家能看明白吧?

也就是最高位标识是否拥有增的权限,中间一位标识是否拥有删的权限,第三栏标识是否用改的权限,第四栏标识的是前面三位的十进制表达

数据库存储的是十进制数,在使用的时候需要转换成二进制(我这里使用PHP来表示)

默认是0,这样我们需要授权的时候只用使用“|”来授权

//定义权限

define(‘UPD’, 1<< 0);     // 把更新权限放在最右边

define(‘DELE’, 1<<1);     // 删除权限向左移一位

define(‘ADD’, 1<<2);    // 增加权限向左移两位

授权

$is = UPD | ADD;//更新和增加的权限十进制是5,二进制是101

如果需要判断是否拥有这样的权限

$is & UPD (101 & 001 )

如果需要取消授权那么可以使用异或^来移除权限

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 位运算的运用

    1.linux当中的位 在linux当中我们经常说777、775、755这个代表什么呢?其实很简单! 我们用1表示拥有执行权限,2表示拥有写入权限,4表...

    苦咖啡
  • vagrant配置多个虚拟机

    Vagrant.configure("2") do |config| vms = Array(1..5) vms.each do |i| ...

    苦咖啡
  • Mysql触发器

    MySQL触发器 1、 触发器作用 日志跟踪:使用数据库记录apache等日志,可以使用自动插入操作 验证数据:触发器可以验证更新数据库要存入的数据 引用完整:...

    苦咖啡
  • JeeSite | 访问控制权限

      在各种后台系统中都会涉及到权限的管控,从功能权限的管控,到数据权限的管控,都是为了让系统的在使用的过程中更加的安全。功能权限管控是对针对不同的角色可以进行不...

    码农UP2U
  • 基于蓝鲸平台分分钟实现权限配置自动化

    小明有一个烦恼(不是《老板,今天我们做Oracle灾备切换演练吧!》的小明),毕业季来了,公司的招聘季也来了,每天都有新同事报道,这也意味着,他要每天到公司的几...

    嘉为科技
  • Android6.0动态权限适配&XMPermissions

    从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新...

    静默加载
  • Linux安全权限

    之前说了Linux文件的权限区分,这次来说一说Linux的安全权限,不知道权限划分的可以移步《Linux权限详解》

    信安本原
  • 额 明天接着修改

    每个功能都有相应的URL地址。(对功能的控制就是对URL地址访问的控制)

    lpe234
  • 数据库|权限管理

    用户对数据的库的访问以及对数据库对象的操作都体现在权限上,具有什么样的权限,就能执行什么样的操作。权限对于数据库来说至关重要,它是访问权限设置中的最后一道安全措...

    算法与编程之美
  • Linux系统修改权限与默认权限

    前面介绍了Linux系统文件的权限与目录的权限,由于为了操作系统的安全性,实际生产环境中,经常会修改某用户对某文件或目录的权限

    民工哥

扫码关注云+社区

领取腾讯云代金券