基于二进制的权限管理与验证

本文介绍了如何使用二进制进行权限管理,包括权限值的设定、权限赋予(或运算)、权限除去(求补与运算)以及权限验证(与运算)。通过具体的例子阐述了二进制在权限系统中的作用,便于理解和实现权限控制。
摘要由CSDN通过智能技术生成

1、权限值的设定
  用二进制来表示权限值应该是按位来设置,每个位占一个,表示一种权限,如:

    00000001表示十进制1, 
    00000010表示十进制2, 
    00000100表示十进制4, 
    00001000表示十进制8;

  依次类推,才能清晰正确的标识,多种权限的赋予则使用“或运算”,此时各位比较混乱,如00000011表示十进制3,此时它意味着拥有两种权限。

Long userrolevalue ;//用户的权限值,根据他属于的权限组,这个值会不同
Long oprolevalue   ;//一个操作的权限值,根据他属于的权限组,这个值会不同

2、权限的赋予(或运算)
userrolevalue = userrolevalue | oprolevalue
假设一个用户u1,他的初始权限值为0(00000000)。如果要指定他有经理的权限,经理的权限值为4(00000100),在第三个二进制位为1。
很显然,userrolevalue =  0 | 4 ,值为4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值