/** 初始化角色权限Map。 */
 private void initRoleRightsMap() {
   ApplicationContext ctx = Global._ctx;
   IRoleManager roleManager = (IRoleManager) ctx.getBean("roleManager");
   IModuleManager moduleManager = (IModuleManager) ctx.getBean("moduleManager");
   IFunctionManager functionManager = (IFunctionManager) ctx.getBean("functionManager");
   IMethodManager methodManager = (IMethodManager) ctx.getBean("methodManager");
   // 获得所有角色
   List allRolesList = roleManager.getRoles();
   Role rolePO = null;
   Module modulePO = null;
   List rights = null;
   for (int i = 0; i < allRolesList.size(); i++) {
     rolePO = (Role) allRolesList.get(i);
     rights = new ArrayList();
     // 获得角色对应的模块
     List modulesList = moduleManager.getModulesByRoleId(rolePO.getId());
     for (int j = 0; j < modulesList.size(); j++) {
       modulePO = (Module) modulesList.get(j);
       if (!modulePO.getActionUrl().equals("#")) {
         ModuleAndFunction maf = new ModuleAndFunction();
         maf.setModuleNameSpace(modulePO.getActionUrl());
         // 存放当前模块对应的所有方法并且也对应角色里的功能下的方法
         List methodArrayList = new ArrayList();
         List functionList =
             functionManager.getFunctionsByRoleIdAndModuleId(rolePO.getId(), modulePO.getId());
         for (Iterator iter = functionList.iterator(); iter.hasNext(); ) {
           Function function = (Function) iter.next();
           List methodList = methodManager.getMethodsByFunctionId(function.getId());
           for (int m = 0; m < methodList.size(); m++) {
             Method method = (Method) methodList.get(m);
             methodArrayList.add(method);
           }
         }
         maf.setMethodList(methodArrayList);
         rights.add(maf);
       }
     }
     RoleRightsMap.put(rolePO.getId(), rights);
   }
 }