From a35f4a6527186b45e9c5196283d9637a1f0337c3 Mon Sep 17 00:00:00 2001 From: Zhang Liguo <482370576@qq.com> Date: Fri, 22 Dec 2023 11:47:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=A6=E6=88=AA=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lovenav/configuration/MyWebConfigurer.java | 14 ++++++++++++++ .../com/lovenav/controller/UserController.java | 10 +++++++++- src/main/java/com/lovenav/dao/UserDao.java | 2 +- ...oginInterceptor.java => UserInterceptor.java} | 16 ++++++++++------ .../service/serviceImpl/UserServiceImpl.java | 1 + src/main/java/com/lovenav/utils/EmailUtils.java | 2 +- 6 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/lovenav/configuration/MyWebConfigurer.java rename src/main/java/com/lovenav/filter/{LoginInterceptor.java => UserInterceptor.java} (76%) diff --git a/src/main/java/com/lovenav/configuration/MyWebConfigurer.java b/src/main/java/com/lovenav/configuration/MyWebConfigurer.java new file mode 100644 index 0000000..f366cba --- /dev/null +++ b/src/main/java/com/lovenav/configuration/MyWebConfigurer.java @@ -0,0 +1,14 @@ +package com.lovenav.configuration; + +import com.lovenav.filter.UserInterceptor; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +@Configuration +public class MyWebConfigurer implements WebMvcConfigurer { + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(new UserInterceptor()).addPathPatterns("/*/**").excludePathPatterns("/error","/login","/register","/findThePassword","/verifyCode","/sendActiveCode"); + WebMvcConfigurer.super.addInterceptors(registry); + } +} diff --git a/src/main/java/com/lovenav/controller/UserController.java b/src/main/java/com/lovenav/controller/UserController.java index 4679852..2a8fd18 100644 --- a/src/main/java/com/lovenav/controller/UserController.java +++ b/src/main/java/com/lovenav/controller/UserController.java @@ -32,6 +32,7 @@ public class UserController { //发送邮箱验证码 @GetMapping("/sendActiveCode") public String sendActiveCode(HttpSession session, User user){ + String activecode=userService.sendEmailActivecode(user); session.setAttribute(user.getUserEmail(),activecode); return "发送验证码成功!"; @@ -58,10 +59,15 @@ public class UserController { } return "注册成功!"; } - @RequestMapping("/login") + @RequestMapping(value = "/login",produces = {"application/json;charset=UTF-8"}) public Maplogin(User user,String code,HttpSession session){ Map map=new HashMap<>(); + String sessionCode = (String) session.getAttribute(RandomValidateCode.RANDOMVALIDATECODE); + if (sessionCode==null){ + map.put("msg","验证码空的"); + return map; + } if (!sessionCode.equals(code)){ map.put("msg","验证码错误"); return map; @@ -109,7 +115,9 @@ public class UserController { @RequestMapping("/findThePassword") public Map findThePassword(User user,HttpSession session){ Map map=new HashMap<>(); + User user1=userService.selectUserAlreadyExist(user); + System.out.println(user1); if (user1==null){ map.put("msg","无此邮箱"); return map; diff --git a/src/main/java/com/lovenav/dao/UserDao.java b/src/main/java/com/lovenav/dao/UserDao.java index 5d2c56e..ff38752 100644 --- a/src/main/java/com/lovenav/dao/UserDao.java +++ b/src/main/java/com/lovenav/dao/UserDao.java @@ -23,7 +23,7 @@ public interface UserDao { User selectByEmail(String user_email); - User selectByUserLogin(String user_Login); + User selectByUserLogin(String user_login); int updateByEmail(User user); diff --git a/src/main/java/com/lovenav/filter/LoginInterceptor.java b/src/main/java/com/lovenav/filter/UserInterceptor.java similarity index 76% rename from src/main/java/com/lovenav/filter/LoginInterceptor.java rename to src/main/java/com/lovenav/filter/UserInterceptor.java index c36fd0f..5a8d224 100644 --- a/src/main/java/com/lovenav/filter/LoginInterceptor.java +++ b/src/main/java/com/lovenav/filter/UserInterceptor.java @@ -1,18 +1,19 @@ package com.lovenav.filter; +import com.alibaba.fastjson.JSON; import com.lovenav.utils.TokenUtils; import io.jsonwebtoken.Claims; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; +import java.util.HashMap; +import java.util.Map; -public class LoginInterceptor implements HandlerInterceptor { +public class UserInterceptor implements HandlerInterceptor { //Controller逻辑执行之前 @@ -31,22 +32,25 @@ public class LoginInterceptor implements HandlerInterceptor { // 拦截每个请求 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) { + Map map=new HashMap<>(); System.out.println("开始进入拦截器检验jwt头部是否含有Authorization方法!"); // 通过url得到token请求头是否包含Authorization + response.setCharacterEncoding("UTF-8"); String jwt = request.getHeader("Authorization"); System.out.println(jwt); try { // 检测请求头是否为空 if (jwt == null) { System.out.println("用户未登录,验证失败"); + map.put("msg","用户未登录,验证失败"); + response.getWriter().print(JSON.toJSONString(map)); + return false; } else { Claims c = tokenUtils.parseJWT(jwt); - System.out.println("用户[ " + c.get("username") + " ]已是登录状态"); + System.out.println("用户[ " + c.get("userLogin") + " ]已是登录状态"); System.out.println("结束进入拦截器检验jwt头部是否含有Authorization方法!"); return true; } - System.out.println("token解析错误,验证失败"); - response.getWriter().write("未登录,请重新登录后操作"); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/com/lovenav/service/serviceImpl/UserServiceImpl.java b/src/main/java/com/lovenav/service/serviceImpl/UserServiceImpl.java index aa8a0f7..3e27f54 100644 --- a/src/main/java/com/lovenav/service/serviceImpl/UserServiceImpl.java +++ b/src/main/java/com/lovenav/service/serviceImpl/UserServiceImpl.java @@ -80,6 +80,7 @@ public class UserServiceImpl implements UserService { @Override public User selectUserAlreadyExist(User user) { System.out.println(user.getUserEmail()); + User user1=userDao.selectByEmail(user.getUserEmail()); return user1; } diff --git a/src/main/java/com/lovenav/utils/EmailUtils.java b/src/main/java/com/lovenav/utils/EmailUtils.java index d97daad..e13c8d5 100644 --- a/src/main/java/com/lovenav/utils/EmailUtils.java +++ b/src/main/java/com/lovenav/utils/EmailUtils.java @@ -27,7 +27,7 @@ public class EmailUtils { //邮箱 lx_teach@163.com String myAccount = "482370576@qq.com"; //授权码 java168 - String myPass = "rgggscegbprzbhcc"; + String myPass = "hlilinclupppbice"; //邮箱服务器 String SMTPHost = "smtp.qq.com"; //设置属性信息