UserLoginController.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.goafanti.user.controller;
  2. import javax.annotation.Resource;
  3. import javax.servlet.http.HttpServletRequest;
  4. import org.apache.commons.lang3.StringUtils;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.Model;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.ResponseBody;
  10. import org.springframework.web.servlet.ModelAndView;
  11. import org.springframework.web.servlet.view.RedirectView;
  12. import com.goafanti.common.bo.Result;
  13. import com.goafanti.common.constant.ErrorConstants;
  14. import com.goafanti.common.controller.BaseController;
  15. import com.goafanti.common.model.Admin;
  16. import com.goafanti.common.model.User;
  17. import com.goafanti.common.utils.TimeUtils;
  18. import com.goafanti.common.utils.VerifyCodeUtils;
  19. import com.goafanti.core.shiro.token.TokenManager;
  20. import com.goafanti.user.service.UserService;
  21. @Controller
  22. public class UserLoginController extends BaseController {
  23. @Resource
  24. private UserService userService;
  25. @RequestMapping(value = "/login", method = RequestMethod.GET)
  26. @ResponseBody
  27. public Result login(HttpServletRequest request, Model model) {
  28. Result res = new Result();
  29. TokenManager.logout();
  30. return res;
  31. }
  32. @RequestMapping(value = "/login", method = RequestMethod.POST)
  33. public ModelAndView doLogin(User user, Boolean rememberMe, HttpServletRequest request, ModelAndView modelview) {
  34. TokenManager.login(user, rememberMe);
  35. RedirectView rv = new RedirectView();
  36. rv.setUrl(request.getContextPath() + "/index");
  37. rv.setExposeModelAttributes(false);
  38. modelview.setView(rv);
  39. return modelview;
  40. }
  41. /**
  42. * 用户登录
  43. * @param user
  44. * @param remember
  45. * @param request
  46. * @return
  47. */
  48. @RequestMapping(value = "/signin", method = RequestMethod.POST)
  49. @ResponseBody
  50. public Result signin(User user,Boolean remember, HttpServletRequest request) {
  51. Result res = new Result();
  52. res.setData(TokenManager.login(user, remember));
  53. return res;
  54. }
  55. /**
  56. * 管理端登录
  57. * @param user
  58. * @param remember
  59. * @param request
  60. * @return
  61. */
  62. @RequestMapping(value = "/managesignin", method = RequestMethod.POST)
  63. @ResponseBody
  64. public Result managesignin(Admin admin,Boolean remember, HttpServletRequest request) {
  65. Result res = new Result();
  66. res.setData(TokenManager.manageLogin(admin, remember));
  67. return res;
  68. }
  69. /**
  70. * 忘记密码 使用手机号+手机验证码登录
  71. * @param mobile
  72. * @param mobileCode
  73. * @param type
  74. * @return
  75. */
  76. @RequestMapping(value = "/mobileSigin", method = RequestMethod.POST)
  77. @ResponseBody
  78. public Result mobileSignIn(User user,String mobileCode){
  79. Result res = new Result();
  80. if(StringUtils.isBlank(user.getMobile())){
  81. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"必须指定","手机号"));
  82. return res;
  83. }
  84. if(TimeUtils.checkOverTime("register")){
  85. res.getError().add(buildError(ErrorConstants.MCODE_OVERTIME_ERROR,"手机验证码超时失效"));
  86. return res;
  87. }
  88. if(!TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE).equals(mobileCode)){
  89. res.getError().add(buildError(ErrorConstants.MCODE_ERROR,"手机验证码错误"));
  90. return res;
  91. }
  92. return res;
  93. }
  94. }