zoukankan      html  css  js  c++  java
  • 基于二进制的权限控制

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

    代码如下:

    /**
         * 将模块的操作权限转成视图形式。
         * @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"));
        }
  • 相关阅读:
    ES6介绍
    django-缓存
    Python标准模块--functools
    python-深浅拷贝
    Django专题-ugettext_lazy
    PHP 连接 MySQL
    PHP 过滤器
    PHP session
    PHP cookie
    PHP 文件上传
  • 原文地址:https://www.cnblogs.com/clovem/p/5391572.html
Copyright © 2011-2022 走看看