位与运算在权限管理中的应用
来源:互联网 发布:手机全景拍照软件 编辑:程序博客网 时间:2024/06/06 00:58
前不久,在设计个性化定制预警消息功能时,通过位与运算方法实现了该功能,现同大家一块分享。
预警系统需提供设定什么时间为工作日,工作日设置,采用简单的按星期设置方式,用户可设定在每周的某几天为工作日,在工作日和非工作日可分别设置其接受预警消息的方式,如:短信/邮件。如果用户除周六、日为假日,我们将对应的工作日位标识为“1”,非工作日标识为“0”,如:
sun mon tue thr wed fri sat 二进制 十进制
0 1 1 1 1 1 0 0111110 62
即:用户具有的总权限 = 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^0 = 62 同理,也可以用位标识方法对工作日、非工作日预警方式进行标识。
通过位与运算,我们可以很简单实现权限判断,如下方法:
/**
* 实现,单操作权限判断
* @param userPurview 用户具有的总权限
* @param optPurview 权限位
* @return 权限校验,有权限返回true,反之false
*/
public static boolean checkPower(int userPurview, int optPurview){
int purviewValue = (int)Math.pow(2, optPurview);
return (userPurview & purviewValue) == purviewValue;
}
如:判断是否周一为工作日,则: checkPower(62,1)为true,通过该方式实现权限判断,是不是很方便,根据此原理,在工作日和非工作日接受预警消息的方式同样实现起来非常简单。
- 位与运算在权限管理中的应用
- 位运算在用户权限管理中的应用
- 位与运算符 在权限中的使用
- 位运算在排序与搜索中的应用
- 位运算在排序与搜索中的应用(转)
- c#按位与运算在业务设计中的应用
- 关于位运算在权限配置及类似场景中的应用
- 位运算在编程中的应用1
- 位“异或”运算在变量交换中的应用及与位“或”的逻辑关系
- C# 位运算权限管理
- RBAC位运算权限管理
- 位与运算在iOS中的使用
- Dictionary在权限管理中的应用
- 位运算与应用
- 算法的力量--之bit位运算在排序与搜索中的应用
- 算法的力量:位运算在排序与搜索中的应用
- C语言中的位运算在嵌入式中的应用
- 权限操作与位运算
- Qt编程中的常见问题
- Something about Cloud Computing
- 开张了
- test
- 预处理
- 位与运算在权限管理中的应用
- static关键字
- 未来的规划
- 未来的规划
- 计算机类期刊投稿心得
- 【转】关于如何跨越抄袭程序阶段的一些断想
- tortoisesvn获取 sourceforge 代码
- ado学习笔记
- ASP.NET中让网页弹出窗口不再困难