使用BigInteger来处理权限问题,

我们都知道权限,在开发中是一个难点也是一个有趣的事,很多人估计多权限深有体会,那么,我们在开发中如何的使用权限的处理的呢,我想有的对权限的处理是,我点击这个权限向另一张表中添加数据,然后根据这些数据进行对比,然后这个是拥有权限的,但我感觉这样做虽然能处理,但我觉得这个是不可取的,虽然我公司也是用这个向另一张表中插数据的,虽然不想,但也无奈啊。,但在这里,我想处理另一种方式处理。感觉效率更高.那就是BigInteger,这个是计算2的权和的问题的,那处理权限的问题就在好不过了。下面,通过一个小javademo对其进行处理

 //初始  
        BigInteger num = new BigInteger("0");  
        num = num.setBit(2); //2^2=4
        num = num.setBit(1);  //1^2=2
        //6
        num=num.setBit(3);//2^3+2^2+2*1;//8+4+2
        System.out.println(num);
System.out.println(num.testBit(1));

上面2,1,3都具有2的权和,然后我们可以在role这张权限表中进行设置一个字段用于存储这个2,1,3所具有的权和,然后在查询mune表中的时候,用这个权和进行数据的过滤就得到额

我们想要的权限数据,也就是说,我们在添加会修改权限菜单的数据,只需要获取mune表中所在的menuid然后进行权和,就实现了权限的处理,根本不需要向其他表中插数据.

具体的,

后期有时间写一个权限demo贴出来.

ps;青春不悔

猜你喜欢

转载自blog.csdn.net/arryluo123/article/details/78324707