平台默认提供了checkPermissionAction(验证是否拥有权限)这个action
如果需要通过判断某具体的功能是否有权限对页面进行控制,可以自己在java中调用checkPermissionAction,具体的参数设置参考如下:
public static void testPermission(){ //定义一个Map遍历把需要判断的功能的process和activity放到Map中,可以定义多个Map放不同的功能 Map<String, String> funcParams = new HashMap<String, String>(); funcParams.put("process", "/appdemo/test/process/button/buttonProcess"); funcParams.put("activity", "mainActivity"); //定义checkPermissionAction需要的list参数,把功能的Map添加多list中 List<Map<String, String>> actionParam = new ArrayList<Map<String, String>>(); actionParam.add(funcParams); //定义调用action的ActionUtils.invokeAction这个方法进行传参的Map参数,把List添加到Map中 Map<String, Object> params = new HashMap<String, Object>(); params.put("permissions", actionParam); ActionContext context = ModelUtils.getRequestContext().getActionContext(); //调用action ArrayList result = (ArrayList) ActionUtils.invokeAction(context.getProcess().getFullName(), context.getActivity().getName(), "checkPermissionAction", context.getExecutor(), params) ; //遍历调用action的返回结果,获取每个功能权限判断返回的hasPermission的值 for(Object o : result){ Map permission = (Map) o; if(permission.get("hasPermission").equals("false")){ System.out.println("没有功能权限"); } else System.out.println("有功能权限"); } }
评一波