/** * 进入授权 * * @param templateId * @param request * @param response * @return * @throws Exception */ @RequestMapping("accessControl{templateId}") public ModelAndView accessControl( @PathVariable String templateId, HttpServletRequest request, HttpServletResponse response) throws Exception { if (templateId == null) { this.logger.warn("进入瞭望塔授权时传递的模板id为null"); return new ModelAndView(this.NOT_FOUND_ACTION); } List<User> ulist = dwmisPopedomService.listTBUsers(); List<Role> rlist = dwmisPopedomService.listTBRoles(); ModelAndView mv = new ModelAndView(); mv.setViewName("/dwmis/template/accessControl"); mv.addObject("ulist", ulist); mv.addObject("rlist", rlist); mv.addObject("templateId", templateId); return mv; }
/** * 模板权限 * * @param request * @param response * @return */ @RequestMapping("/managePopedom") public ModelAndView managePopedom(HttpServletRequest request, HttpServletResponse response) { String tid = request.getParameter("templateId"); String[] roleIds = request.getParameterValues("roleIds"); String[] userIds = request.getParameterValues("userIds"); List<Role> rolelist = roleService.listAllRoles(); List<User> userlist = userService.listAllUser(); boolean isSuccess = true; if (roleIds != null && roleIds.toString() != "") { for (int i = 0; i < roleIds.length; i++) { if (rolelist != null && rolelist.size() > 0) { for (Role r : rolelist) { if (r.getRoleId().intValue() == Integer.parseInt(roleIds[i])) { rolelist.remove(r); break; } } } Role role = new Role(); role.setRoleId(Integer.parseInt(roleIds[i])); role.setDwmisRights(tid); try { dwmisPopedomService.updateRoleTemplate(role); } catch (Exception e) { e.printStackTrace(); this.logger.error(e.getMessage(), e); isSuccess = false; break; } role = roleService.getRoleById(role.getRoleId()); this.insertLog(request, "更改角色" + role.getRoleName() + "瞭望台权限"); } if (!isSuccess) { this.logger.warn("保存角色的瞭望台权限失败"); ModelAndView mv = new ModelAndView(); mv.addObject("msg", this.isFailed); mv.setViewName(SUCCESS_ACTION); return mv; } } if (userIds != null && userIds.toString() != "") { for (int i = 0; i < userIds.length; i++) { if (userlist != null && userlist.size() > 0) { for (User u : userlist) { if (u.getUserId().intValue() == Integer.parseInt(userIds[i])) { userlist.remove(u); break; } } } User user = new User(); user.setUserId(Integer.parseInt(userIds[i])); user.setDwmisRights(tid); try { dwmisPopedomService.updateUserTemplate(user); } catch (Exception e) { e.printStackTrace(); this.logger.error(e.getMessage(), e); isSuccess = false; break; } user = userService.getUserById(user.getUserId()); this.insertLog(request, "更改用户" + user.getUsername() + "瞭望台权限"); } if (!isSuccess) { this.logger.warn("保存用户的瞭望台权限失败"); ModelAndView mv = new ModelAndView(); mv.addObject("msg", this.isFailed); mv.setViewName(SUCCESS_ACTION); return mv; } } if (userlist != null && userlist.size() > 0) { for (User u : userlist) { this.logger.info("设置当前用户没有权限:" + u.getLoginname()); this.logger.info("设置当前用户没有权限,原来的模板ID:" + tid); // 没有权限 u.setDwmisRights(tid); try { dwmisPopedomService.updateUserNoTemplate(u); } catch (Exception e) { e.printStackTrace(); this.logger.error(e.getMessage(), e); isSuccess = false; break; } this.insertLog(request, "更改用户" + u.getUsername() + "瞭望台权限"); } if (!isSuccess) { this.logger.warn("保存角色的瞭望台权限失败"); ModelAndView mv = new ModelAndView(); mv.addObject("msg", this.isFailed); mv.setViewName(SUCCESS_ACTION); return mv; } } if (rolelist != null && rolelist.size() > 0) { for (Role r : rolelist) { r.setDwmisRights(tid); try { dwmisPopedomService.updateRoleNpTemplate(r); } catch (Exception e) { e.printStackTrace(); this.logger.error(e.getMessage(), e); isSuccess = false; break; } this.insertLog(request, "更改角色" + r.getRoleName() + "瞭望台权限"); } if (!isSuccess) { this.logger.warn("保存用户的瞭望台权限失败"); ModelAndView mv = new ModelAndView(); mv.addObject("msg", this.isFailed); mv.setViewName(SUCCESS_ACTION); return mv; } } ModelAndView mv = new ModelAndView(); mv.addObject("msg", "success"); mv.setViewName(SUCCESS_ACTION); return mv; }