SqlServer位运算

原创
2016-06-07 15:34:48 1231浏览

用2的n次方标识单个的权限 如 0无权限 1可读(read) 2可新增(insert) 4可修改(update) 8可删除(delete) 16可审核 ... 权限的组合 read +insert = 1+2=3 read +insert +delete = 1+2+8=11 read + update+delete =1+4+8=13 (value = 2的n次方) 增加权限 pow

用2的n次方标识单个的权限 如

0 无权限
1 可读(read)
2 可新增(insert)
4 可修改(update)
8 可删除(delete)
16 可审核
...
权限的组合

read +insert = 1+2=3
read +insert +delete = 1+2+8=11
read + update+delete =1+4+8=13


(value = 2的n次方)
增加权限
power = power | value

删除权限
power = power &~ value

btw: 可以一次增加或删除多个权限的组合
power = power | 13 同时增加 read + update+delete
power = power &~ 3 同时删除 read + insert


判断权限
可以同时判断单个权限,也可以同时判断多个组合权限

power & value = value

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。