与非权限总结

权限总结:
1.权限类别有
 序号   名称    值
  1        读      1
  2        查询    2
  3        写      4
  4        更新    8
  5        删除    16
  6        ……    ……
2.增加权限
   我的权限值 = 读 | 查询 | 写 | 更新;
   我的权限值 = 1   |  2    | 4 |  8 = 15;

   增加删除权限:
   我的权限值 = 我的权限值 | 删除;
   我的权限值 =  15 | 16 = 31;
3.删除权限
  删除写权限:
  我的权限值 = 读 | 查询 | 写 | 更新;
  我的权限值 = 1   |  2    | 4 |  8 = 15;
  删除写权限:
  我的权限值 = 我的权限值 ^ (我的权限值&写);
   我的权限值 = 15 ^ (15 & 4) = 11;
 
  删除查询,更新权限:
  要删除权限值 = 查询 | 更新;
  要删除权限值 = 2 | 8 = 10;
  我的权限值 = 我的权限值 ^ (我的权限值&要删除权限值);
   我的权限值 = 15 ^ (15 & 10) = 5;
4.查询权限
   我的权限值 = 读 | 查询 | 写 | 更新;
   我的权限值 = 1   |  2    | 4 |  8 = 15;

  单个
  查询更新权限:
  return ((我的权限值 & 更新) == 更新)
   return ((15 & 8) == 8)

  多个
 查询更新,读,写权限:
 要查询的权限 = 更新 | 读 | 写;
 要查询的权限 = 8 | 1 | 4 = 13 ;
 return ((我的权限值 & 要查询的权限) ==要查询的权限)
 return ((15 & 13) == 13)

 


原文地址:https://www.cnblogs.com/HeroBeast/p/1076579.html