这几天研究了一项目的权限控制.
代码如下:
/** * 将模块的操作权限转成视图形式。 * @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")); }