package com.slcf.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.slcf.pojo.MenuBean; import com.slcf.pojo.SysLogBean; import com.slcf.pojo.UserBean; import com.slcf.service.LoginService; import com.slcf.service.SysLogService; import com.slcf.util.DESPlus; @Controller @RequestMapping("/login") public class LoginController { @Resource LoginService loginService; @Autowired SysLogService sysLogService; /** * 获取菜单 * @param request * @param id * @return */ @RequestMapping("/login.action") public String getMenuByUserId(HttpServletRequest request, @RequestParam(value = "uid") Integer id) { String result = ""; try { List menuList = loginService.getMenuByUserId(id); request.getSession().setAttribute("mlist", menuList); result = "redirect:../index.jsp"; // result = "redirect:../home.jsp"; }catch(Exception e) { System.out.println(e.getMessage()); } return result; } /** * 用户登陆 * * @param user * @return */ @ResponseBody @RequestMapping("/doLogin.action") public Map doLoginByAccount(UserBean user, HttpServletRequest request) { Map map = new HashMap(); try { Integer i = null; //密码DES加密 String user_password = new DESPlus().encrypt(user.getUser_password()); UserBean userBean = loginService.getUserInfoByAccount(user.getUser_account(), user_password); if (userBean != null) { // if (user.getUser_password().equals(userBean.getUser_password())) { if (user_password.equals(userBean.getUser_password())) { i = 0;// 登陆成功 map.put("id", userBean.getUser_id()); request.getSession().setAttribute("currentUser", userBean); request.getSession().setAttribute("USER", userBean); request.getSession().setAttribute("NAME", userBean.getUser_name()); request.getSession().setAttribute("ACCOUNT", userBean.getUser_account()); request.getSession().setAttribute("PASS", new DESPlus().decrypt(userBean.getUser_password())); request.getSession().setAttribute("ID", userBean.getUser_id()); String roles = loginService.getRolesByUserId(userBean.getUser_id()); request.getSession().setAttribute("ROLEID", roles); // request.getSession().setAttribute("CLIENTIP", request.getRemoteAddr()); // 插入日志 SysLogBean sysLog = new SysLogBean(); sysLog.setLogin_no(userBean.getUser_account()); sysLog.setMachine_ip(request.getRemoteAddr()); sysLog.setForm_no("doLogin.action"); sysLog.setTts_keyname("登录系统"); sysLog.setModi_user(userBean.getUser_account()); sysLogService.insertSysLog(sysLog); } else { i = 1;// 登录密码不正确 } } else { i = 2;// 此账号不存在 } map.put("i", i); } catch (Exception e) { System.out.println(e.getMessage()); } return map; } /** * 退出登陆 * * @param request * @return */ @RequestMapping("/quit.action") public String quitLogin(HttpServletRequest request) { String result = ""; try { // 插入日志 UserBean user=(UserBean)request.getSession().getAttribute("USER"); SysLogBean sysLog = new SysLogBean(); sysLog.setLogin_no(user.getUser_account()); sysLog.setMachine_ip(request.getRemoteAddr()); sysLog.setForm_no("quit.action"); sysLog.setTts_keyname("退出系统"); sysLog.setModi_user(user.getUser_account()); sysLogService.insertSysLog(sysLog); request.getSession().removeAttribute("currentUser"); request.getSession().invalidate(); } catch (Exception e) { System.out.println(e.getMessage()); } result = "redirect:../login.jsp"; return result; } }