/*
* 设置角色(用户)具有哪些操作的权限值
* 例如:删除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;
}
* 设置角色(用户)具有哪些操作的权限值
* 例如:删除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;
}
本文介绍了一种通过数学运算来实现角色权限值的计算方法,并提供了如何根据用户拥有的总权限值来判断用户是否具备特定操作权限的逻辑。权限值采用二进制位运算的方式进行管理和验证。
123

被折叠的 条评论
为什么被折叠?



