• 基于二进制的权限控制


    这几天研究了一项目的权限控制.

    代码如下:

    /**
         * 将模块的操作权限转成视图形式。
         * @param permission
         * @param aclstate
         * @return
         */
        public static boolean checkPermission(int permission,int aclstate){
            
            int temp = 1;
            temp = temp << permission;
            temp = aclstate & temp;
            if(temp != 0){
                return true;
            }
            return false;
        }
        
        public static int setPermission(int permission,int aclstate){
            int temp = 1;
            temp = temp << permission;
            aclstate = aclstate | temp;
            return aclstate;
        }
    public void add(HTTPContext context) throws IOException, ServletException {
            
            String[] permissions = context.request.getParameterValues("permission");
            String name = context.getParameter("CRM_CUSTOMER_ROLE.NAME");
            String commen = context.getParameter("CRM_CUSTOMER_ROLE.COMMEN");
            int acl = 0;
            for (String permission : permissions) {
                acl = PermissionUtil.setPermission(Integer.parseInt(permission), acl);//就是上面的代码
            }
            System.out.println(acl);
            
            SEntity entitys= new SEntity("CRM_CUSTOMER_ROLE");
            entitys.setValue("CONTROL", acl);
            entitys.setValue("NAME", name);
            entitys.setValue("COMMEN", commen);
            baseDao.save(entitys);
            
            context.replyLookUpAdd("数据添加成功!",context.getParameter("rel"));
        }
  • 相关阅读:
    python数据集处理,加载成list
    *和multiply
    RuntimeWarning: overflow encountered in exp
    机器学习 回归
    argsort()
    transpose()、T
    numpy、matplotlib第三方库安装
    feedparser安装
    机器学习实战错误校正
    机器学习 基于概率论的分类方法:朴素贝叶斯
  • 原文地址:https://www.cnblogs.com/clovem/p/5391572.html
Copyright © 2020-2023  润新知