package com.springmvchibernate.ContinuingEducation.controller; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.util.WebUtils; import com.springmvchibernate.ContinuingEducation.log.Logger; import com.springmvchibernate.ContinuingEducation.model.SYS_PERSON_USER; import com.springmvchibernate.ContinuingEducation.model.SYS_USER; import com.springmvchibernate.ContinuingEducation.service.Manage_userService; import com.springmvchibernate.ContinuingEducation.service.Sys_person_userService; import com.springmvchibernate.ContinuingEducation.service.Sys_userService; import com.springmvchibernate.ContinuingEducation.util.MD5; /** * 用户登录控制类 * * @参数 username 用户名 * * @参数 password 密码 * * @参数 checkcode 验证码 * * @作者 牛文吉 * */ @Controller public class LoginController { @Autowired Sys_userService sys_userService; @Autowired Manage_userService manage_userService; @Autowired Sys_person_userService sys_person_userService; @RequestMapping(value = "admin", method = RequestMethod.POST) public ModelAndView admin(HttpServletRequest request,HttpServletResponse response){ response.setContentType("text/html;charset=UTF-8"); try { Logger.audit("进入->:后台用户登录"); String username = request.getParameter("username").trim(); String password = request.getParameter("password").trim(); String checkcode = request.getSession().getAttribute("rand").toString(); if (checkcode.equals(request.getParameter("rand").toString().trim())) { if (manage_userService.checkUser(username, password)) { Logger.audit("进入->:用户登录成功,设置session值"); WebUtils.setSessionAttribute(request, "adminuser", manage_userService.getByUserName(username)); response.getWriter().print("success"); }else{ Logger.audit("进入->:用户登录失败,用户名或密码错误!"); response.getWriter().print("error"); } }else{ response.getWriter().print("codeerr"); } } catch (IOException e) { e.printStackTrace(); }catch (java.lang.NullPointerException e){ e.printStackTrace(); }finally{ Logger.audit("退出->:后台用户登录方法!"); } return null; } @RequestMapping(value = "login", method = RequestMethod.POST) public ModelAndView login(HttpServletRequest request,HttpServletResponse response){ try { String username = request.getParameter("username").trim(); String password = request.getParameter("password").trim(); String checkcode = request.getSession().getAttribute("rand").toString(); if (checkcode.equals(request.getParameter("pagecode").toString().trim())) { if (sys_userService.checkUser(username, MD5.MD5Code(password))) { SYS_USER user=sys_userService.FindByProperty("USERNAME", username); if(user.getAUDITT().equals("Y")){ Logger.audit("进入->:用户登录成功,设置session值"); WebUtils.setSessionAttribute(request, "user", user); response.getWriter().print("success"); }else{ Logger.audit("进入->:用户登录失败,还没有通过审核"); response.getWriter().print("auerr"); } }else if(sys_person_userService.UserIsExis(username, MD5.MD5Code(password))){ SYS_PERSON_USER puser = sys_person_userService.FindByProperty("USERNAME", username); SYS_USER user=sys_userService.FindByProperty("GROUPID", String.valueOf(puser.getGROUPID())); if(user.getAUDITT().equals("Y")){ Logger.audit("进入->:用户登录成功,设置session值"); WebUtils.setSessionAttribute(request, "preuser",puser); response.getWriter().print("success"); }else { Logger.audit("进入->:个人用户登录失败,企业用户已失效,所以本单位所有用户不能登录!"); response.getWriter().print("preerr"); } }else{ Logger.audit("进入->:用户登录失败,用户名或密码错误!"); response.getWriter().print("error"); } }else{ response.getWriter().print("codeerr"); } } catch (IOException e) { e.printStackTrace(); }catch (java.lang.NullPointerException e){ e.printStackTrace(); }finally{ Logger.audit("退出->:前台用户登录方法!"); } return null; } /** * @作者:牛文吉 * @说明:该方法主要:用户登录后,可通过本方法注销登录信息,使用用户失效 * @param request 传入当前请求对象 * @param response 传入当前响应对象 */ @RequestMapping(value = "logout", method = RequestMethod.GET) public void logout(HttpServletRequest request, HttpServletResponse response) throws Exception { /* 删除用户登录信息 */ Logger.audit("进入->:登录注销开始!"); Logger.audit("注销用户信息->:"+ WebUtils.getSessionAttribute(request,"adminuser")); Logger.audit("注销用户信息->:"+ WebUtils.getSessionAttribute(request,"user")); Logger.audit("注销用户信息->:"+ WebUtils.getSessionAttribute(request,"preuser")); WebUtils.setSessionAttribute(request,"adminuser", null); WebUtils.setSessionAttribute(request,"user", null); WebUtils.setSessionAttribute(request,"preuser", null); Logger.audit("退出->:登录注销成功!"); /* 删除用户登录信息后返回首页 */ response.sendRedirect("/index.xhtml"); } /** * @作者:牛文吉 * @说明:该方法主要:用户登录后成功后转发 * @param request 传入当前请求对象 * @param response 传入当前响应对象 */ @RequestMapping(value = "success", method = RequestMethod.GET) public ModelAndView success(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav=new ModelAndView(); Logger.audit("进入->:成功登录后转发到成功页!"); mav.setViewName("ContinuingEducationWeb/success/success"); Logger.audit("退出->:成功转发!"); return mav; } }