From 8882679a67f5386a66db79d4fffc73cafc59bcc7 Mon Sep 17 00:00:00 2001 From: xioayue Date: Thu, 30 Jun 2022 11:14:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3token=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chjyj/szwh/Interceptor/ChInterceptor.java | 37 +++++++++++-------- .../admin/AdminGoodsController.java | 5 ++- .../szwh/controller/api/TestController.java | 2 +- src/main/resources/application.properties | 3 +- .../resources/mapper/szwh/GoodsMapper.xml | 8 ++-- 5 files changed, 32 insertions(+), 23 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java b/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java index f0a1d3d..c726aea 100644 --- a/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java +++ b/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java @@ -9,7 +9,10 @@ import cn.chjyj.szwh.service.impl.AdminServiceImpl; import cn.chjyj.szwh.utils.JwtUtils; import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.DecodedJWT; +import jdk.internal.instrumentation.Logger; import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; @@ -21,8 +24,7 @@ import java.lang.reflect.Method; @Component public class ChInterceptor implements HandlerInterceptor { - - + private static Log log = LogFactory.getLog(ChInterceptor.class); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 从请求头中获取token @@ -44,30 +46,33 @@ public class ChInterceptor implements HandlerInterceptor { else { // 执行认证 if (token == null) { - throw new ChException("请登录重试"); - } + throw new ChException("token为空,token为必须参数"); + }else{ + } + //log.info("token:"+token); DecodedJWT decode = JWT.decode(token); // todo 1 验证是否过期 //2 验证是否 - String userId = decode.getClaim("userid").asString(); + String payload=decode.getPayload(); + request.setAttribute("pstr",payload); +// String userId = decode.getClaim("userid").asString(); // //获取载荷内容 // String userName = JwtUtils.getClaimByName(token, "userName").asString(); // String realName = JwtUtils.getClaimByName(token, "realName").asString(); //找找看是否有这个user 因为我们需要检查用户是否存在,读者可以自行修改逻辑 - AdminService adminService = new AdminServiceImpl(); - Admin admin = adminService.getAdminByAccountId(userId); - - if (admin == null) { - //这个错误也是我自定义的 - throw new ChException("用户不存在"); - }else{ - //放入attribute以便后面调用 - request.setAttribute("uid", admin.getId()); - request.setAttribute("acount_name",admin.getAccountName()); //登录账号 - } +// AdminService adminService = new AdminServiceImpl(); +// Admin admin = adminService.getAdminByAccountId(userId); +// +// if (admin == null) { +// throw new ChException("用户不存在"); +// }else{ +// //放入attribute以便后面调用 +// request.setAttribute("uid", admin.getId()); +// request.setAttribute("acount_name",admin.getAccountName()); //登录账号 +// } return true; } return true; diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java index 9d78e53..ba21840 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java @@ -1,5 +1,6 @@ package cn.chjyj.szwh.controller.admin; +import cn.chjyj.szwh.annotation.PassToken; import cn.chjyj.szwh.bean.Goods; import cn.chjyj.szwh.service.GoodsService; import com.alibaba.fastjson.JSONObject; @@ -8,12 +9,13 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller -@RequestMapping(value = "/admin/Goods",method = {RequestMethod.GET,RequestMethod.POST}) +@RequestMapping("/admin/admin.Goods") public class AdminGoodsController { @Autowired private GoodsService goodsService; @@ -22,6 +24,7 @@ public class AdminGoodsController { * 商品列表 * @return */ + @ResponseBody @RequestMapping("/list") public String list(@RequestParam(name = "page",defaultValue = "1") String page){ int ipage=Integer.parseInt(page); diff --git a/src/main/java/cn/chjyj/szwh/controller/api/TestController.java b/src/main/java/cn/chjyj/szwh/controller/api/TestController.java index 7dd12d5..50389c3 100644 --- a/src/main/java/cn/chjyj/szwh/controller/api/TestController.java +++ b/src/main/java/cn/chjyj/szwh/controller/api/TestController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController; */ @RestController -@RequestMapping("/api/v1/") +@RequestMapping("/api/v1") public class TestController { /** * test diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c75bf9b..a48f914 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -6,4 +6,5 @@ logging.path=./logs/ server.port=9090 # 服务请求上下文 #server.servlet.context-path=/chapi -mybatis.mapper-locations=classpath*:/mapper/**/*.xml \ No newline at end of file +mybatis.mapper-locations=classpath*:/mapper/**/*.xml +spring. \ No newline at end of file diff --git a/src/main/resources/mapper/szwh/GoodsMapper.xml b/src/main/resources/mapper/szwh/GoodsMapper.xml index f2edaf1..1248ee7 100644 --- a/src/main/resources/mapper/szwh/GoodsMapper.xml +++ b/src/main/resources/mapper/szwh/GoodsMapper.xml @@ -21,10 +21,10 @@