当前位置: 首页 > news >正文

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -后端鉴权拦截器实现

锋哥原创的uniapp微信小程序投票系统实战:

uniapp微信小程序投票系统实战课程 (SpringBoot2+vue3.2+element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2+vue3.2+element plus ) ( 火爆连载更新中... )共计21条视频,包括:uniapp微信小程序投票系统实战课程 (SpringBoot2+vue3.2+element plus ) ( 火爆连载更新中... )、第2讲 投票项目后端架构搭建、第3讲 小程序端 TabBar搭建等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1ea4y137xf/新建拦截器:

package com.java1234.interceptor;import com.java1234.util.JwtUtils;
import com.java1234.util.StringUtil;
import io.jsonwebtoken.Claims;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** 鉴权拦截器* @author java1234_小锋* @site www.java1234.com* @company Java知识分享网* @create 2021-01-29 14:11*/
public class SysInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String path=request.getRequestURI();System.out.println(path);if(handler instanceof HandlerMethod){String token = request.getHeader("token");System.out.println("token:"+token);if(StringUtil.isEmpty(token)){System.out.println("token为空!");throw new RuntimeException("签名验证不存在");}else{Claims claims = JwtUtils.validateJWT(token).getClaims();if(claims!=null){System.out.println("验证成功");return true;}else{System.out.println("验证失败");throw new RuntimeException("签名失败");}}}else{return true;}}}

新建WebAppConfigurer

package com.java1234.config;import com.java1234.interceptor.SysInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** @author java1234_小锋 (公众号:java1234)* @site www.java1234.vip* @company 南通小锋网络科技有限公司*/
@Configuration
public class WebAppConfigurer implements WebMvcConfigurer {@Beanpublic SysInterceptor sysInterceptor(){return new SysInterceptor();}@Overridepublic void addInterceptors(InterceptorRegistry registry) {String[] patterns=new String[]{"/user/wxlogin","/image/**"};registry.addInterceptor(sysInterceptor()).addPathPatterns("/**").excludePathPatterns(patterns);}@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE","OPTIONS").maxAge(3600);}
}

http://www.lryc.cn/news/277494.html

相关文章:

  • 固乔快递查询助手:批量、快速、全面的快递信息查询软件
  • C#,归并排序算法(Merge Sort Algorithm)的源代码及数据可视化
  • Linux的网络服务DHCP
  • 【小沐学CAD】开源Assimp库导入三维模型(C++、Python)
  • RT-Thread:SPI万能驱动 SFUD 驱动Flash W25Q64,通过 STM32CubeMX 配置 STM32 SPI 驱动
  • Python学习笔记-使用Anaconda+VSCode配置开发环境
  • RabbitMQ的关键概念解析
  • Python快速排序
  • SpringBoot整合人大金仓数据库KingBase
  • Phoenix基本使用
  • 31-35.玩转Linux操作系统
  • windows下载官方正版notepad++
  • Jmeter+ant+jenkins持续集成
  • 利用邮件发送附件来实现一键巡检,附件是通过调用zabbix api生成的word和Excel
  • Linux 常用指令汇总
  • SpringBoot 注解超全详解(整合超详细版本)
  • Redis:原理速成+项目实战——Redis实战9(秒杀优化)
  • 【I2多语言】多语言快速上手
  • 【野火i.MX6ULL开发板】开发板连接网络(WiFi)与 SSH 登录、上电自动登录、设置静态IP、板子默认参数
  • 【数据库原理】(10)数据定义功能
  • GnuTLS recv error (-110): The TLS connection was non-properly terminated.
  • hive sql 和 spark sql的区别
  • SparkStreaming基础解析(四)
  • HTML---JavaScript操作DOM对象
  • ChatGPT扩展系列之网易数帆ChatBI
  • 1.10号io网络
  • 基于JAVA+SpringBoot的高校学术报告系统
  • 单机部署Rancher
  • linux 命令
  • MySQL数据库进阶|SQL优化|开发手册