AuthorizeInterceptor.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.uas.credit.config;
  2. import com.uas.credit.dao.UserDao;
  3. import com.uas.credit.model.User;
  4. import com.uas.credit.util.ContextUtils;
  5. import org.apache.commons.lang3.StringUtils;
  6. import org.springframework.ui.ModelMap;
  7. import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import java.io.PrintWriter;
  11. /**
  12. * @author liuam
  13. * @since 2018/6/25 0025 下午 18:27
  14. */
  15. public class AuthorizeInterceptor extends HandlerInterceptorAdapter {
  16. private UserDao userDao;
  17. {
  18. userDao = ContextUtils.getBean(UserDao.class);
  19. }
  20. @Override
  21. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  22. String userUUString = request.getParameter("userUU");
  23. String enUUString = request.getParameter("enUU");
  24. String password = request.getParameter("password");
  25. ModelMap modelMap = new ModelMap();
  26. modelMap.put("success", "false");
  27. // 判断 userUUString、enUUString、passwordString 是否为数字
  28. if (!StringUtils.isNumeric(userUUString) || !StringUtils.isNumeric(enUUString)) {
  29. PrintWriter writer = response.getWriter();
  30. modelMap.put("message", "userUU 和 enUU 只能为数字");
  31. writer.print(modelMap);
  32. writer.flush();
  33. return false;
  34. }
  35. if (password == null) {
  36. PrintWriter writer = response.getWriter();
  37. modelMap.put("message", "password 不能为空");
  38. writer.print(modelMap);
  39. writer.flush();
  40. return false;
  41. }
  42. long userUU = Long.parseLong(userUUString);
  43. long enUU = Long.parseLong(enUUString);
  44. User user = userDao.findByUserUUAndEnUUAndPassword(userUU, enUU, password);
  45. if (user == null) {
  46. PrintWriter writer = response.getWriter();
  47. modelMap.put("message", "用户不存在!");
  48. writer.print(modelMap);
  49. writer.flush();
  50. return false;
  51. }
  52. return true;
  53. }
  54. }