权限管理

本文介绍了一种通过数学运算来实现角色权限值的计算方法,并提供了如何根据用户拥有的总权限值来判断用户是否具备特定操作权限的逻辑。权限值采用二进制位运算的方式进行管理和验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
* 设置角色(用户)具有哪些操作的权限值
* 例如:删除A-0修改A-1添加A-2,数组[0,1,2]
*/
public long setPower(long[] arr){

long pow=0;
for(int i=0;i<arr.length;i++){
pow+=(long)Math.pow(2, arr[i]);
}
return pow;
}

/*
* user是用户具有的总权限 ,p是一个操作要求的权限为一个整数(没有经过权的!)
* 每个用户(角色)有一个唯一确定的权限值,根据用户的权值判断用户是否拥有某一项操作
*/
public boolean pow(long user,long p){
boolean bl=false;
long pow=(long)Math.pow(2, p);
bl=(user&pow)==pow;
return bl;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值