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

代码如下:

/**
     * 将模块的操作权限转成视图形式。
     * @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"));
    }