RequestTool.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.miekir.shibei.tool;
  2. import com.alibaba.fastjson.JSON;
  3. import com.miekir.shibei.bean.User;
  4. import com.miekir.shibei.constants.ServerConstants;
  5. import com.miekir.shibei.repository.UserRepository;
  6. import org.springframework.http.HttpHeaders;
  7. import java.util.List;
  8. public class RequestTool {
  9. private RequestTool() {}
  10. public static boolean isRequestValid(HttpHeaders header, UserRepository userRepository) {
  11. String token = header.getFirst("token");
  12. String email = header.getFirst("email");
  13. if (TextUtils.isEmpty(token) || TextUtils.isEmpty(email)) {
  14. return false;
  15. }
  16. // 根据email查找用户,查询用户的token是否相同
  17. User dbUserBean;
  18. try {
  19. dbUserBean = userRepository.findUserByEmail(email);
  20. } catch (Exception e) {
  21. e.printStackTrace();
  22. return false;
  23. }
  24. // 用户token不一致
  25. if (dbUserBean == null || !TextUtils.equals(token, dbUserBean.getToken())) {
  26. return false;
  27. }
  28. return true;
  29. }
  30. public static boolean isRequestAdminValid(HttpHeaders header, UserRepository userRepository) {
  31. String email = header.getFirst("email");
  32. if (!TextUtils.equals(email, ServerConstants.EMAIL_ADMIN)) {
  33. return false;
  34. }
  35. return isRequestValid(header, userRepository);
  36. }
  37. public static User getUserByToken(UserRepository userRepository, String token) {
  38. // 根据email查找用户,查询用户的token是否相同
  39. List<User> dbUserBeanList;
  40. try {
  41. dbUserBeanList = userRepository.findUserByToken(token);
  42. } catch (Exception e) {
  43. e.printStackTrace();
  44. return null;
  45. }
  46. if (dbUserBeanList == null || dbUserBeanList.size() != 1) {
  47. return null;
  48. }
  49. return dbUserBeanList.get(0);
  50. }
  51. }