/** * 验证用户 * * @param request * @param response * @param model * @return */ @RequestMapping("/checkLogin.do") public String checkLogin( HttpServletRequest request, HttpServletResponse response, @RequestParam("userName") String userName, @RequestParam("passWord") String passWord, Model model) { logger.debug("logon request: {username={}, password={}}", userName, passWord); boolean checkPassword = identityService.checkPassword(userName, passWord); HttpSession session = request.getSession(true); if (checkPassword) { User user = identityService.createUserQuery().userId(userName).singleResult(); session.setAttribute("user", user); GroupQuery groupQuery = identityService.createGroupQuery(); List<Group> groupList = groupQuery.groupMember(userName).list(); session.setAttribute("groups", groupList); String[] groupNames = new String[groupList.size()]; for (int i = 0; i < groupNames.length; i++) { groupNames[i] = groupList.get(i).getName(); } session.setAttribute("groupNames", ArrayUtils.toString(groupNames)); return "redirect:/simple/index.do"; } else { return "redirect:/simple/login.do"; } }
/** * 开始流程 * * @return */ @RequestMapping(value = "/start.do") public String startProcessDefinition( HttpServletRequest request, @RequestParam("processDefId") String processDefId, @RequestParam("userId") String userId) { // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中 identityService.setAuthenticatedUserId(userId); Map map = new HashMap(); map.put("owner", userId); runtimeService.startProcessInstanceById(processDefId, map); return "redirect:/simple/index.do"; }