笔记

10、Springboot2.x用户登录拦截器开发实战
    简介:实战开发用户登录拦截器拦截器 LoginInterceptor
        
        1、实现接口 LoginInterceptor implements HandlerInterceptor

2、重写preHandler
             String accessToken = request.getHeader("token");
            if(accessToken == null){
                accessToken = request.getParameter("token");
            }
            if (accessToken != null ) {
                Claims claims = JWTUtils.checkJWT(accessToken);
                Integer id = (Integer)claims.get("id");
                String  name = (String)claims.get("name");
                request.setAttribute("user_id",id);
                request.setAttribute("name",name);
                //普通用户
                return true;

}
            return false;
        3、配置拦截器 
        @Configuration
        InterceptorConfig implements WebMvcConfigurer

@Override
        public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/user/api/v1/*/**");

WebMvcConfigurer.super.addInterceptors(registry);
        }

4、响应前端数据
        
        public static void sendJsonMessage(HttpServletResponse response, Object obj) throws Exception {
            Gson g = new Gson();
            response.setContentType("application/json; charset=utf-8");
            PrintWriter writer = response.getWriter();
            writer.print(g.toJson(obj));
            writer.close();
            response.flushBuffer();
        }

开始

新建一个login的拦截器

实现接口,并重写方法

重写方法

接口内有一些默认的方法。jdk8的新特性

进入Controller之前进行拦截

首先我们需要拿到token。如果Header里面获取不到。那么就从parameter里面获取。

解密token获取里面的值

在最上面定义一个Gson的变量

封装一相应数据的方法


这里再判断一下Claims不等于null

这里的异常必须修改为在方法上面抛出

这里是userId不是id刚才这里写错了。

配置连接器

新建拦截器的配置文件

增加@Configuration表示这是一个配置文件,实现接口WebMvcConfigurer

重写接口内的方法


把注册器放进去。这样就把拦截去注册好了。

新建OrderController

主要是用来模拟 是否判断登陆了。

测试

启动服务
访问video可以访问到。

访问user下的路径,会被拦截器拦截。

在拦截器内断点调试

随便传一个token的值过去

token虽然有值,但是解密会失败

域名调试

拿到扫码的url地址


跳转成功,把这个token拿到,复制下来

把token复制下来

把token复制下来。然后去访问

进入到拦截器的断点里面。解密成功获取到Claims


放行后会提示下单成功

转载于:https://www.cnblogs.com/wangjunwei/p/11488559.html

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-10.Springboot2.x用户登录拦截器开发实战...相关推荐

  1. 小d课堂mysql_小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类...

    笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Window ...

  2. 视频教程-19年录制SpringBoot2.x整合微信支付在线教育网站项目实战-Java

    19年录制SpringBoot2.x整合微信支付在线教育网站项目实战 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/java/pytho ...

  3. springboot整合shiro和session的详细过程和自定义登录拦截器

    文章目录 1.shiro依赖 2.shiro配置 shiro过滤器配置: 关联自定义的其他管理器 自定义会话工厂: 3.登陆时记录用户信息 4.shiro一些工具类的学习 5.自定义登录拦截器 shi ...

  4. 七、SpringBoot——用户登录Demo(国际化、表单重复提交,登录拦截器)

    一.CURD的Demo 1开发前准备工作 新建一个SpringBoot工程 引入starter-web maven依赖 引入html页面和assert文件夹里的样式文件等等 2 实现访问登录页面 方式 ...

  5. 小编程(三):用户登录注册界面开发及用户信息管理案例代码详解

    用户登录注册界面开发及用户信息管理案例详解 刚开始接触Android编程,这算是我写的第一个简单工程,主要功能有:用户登录.注册.注销.修改密码.记住密码共5个基本操作,其内容涉及到以下几点: 1:B ...

  6. 小滴课堂工业级paas云平台+springcloudAlibaba+JDK11综合项目实战

    二当家小D 讲师: xdclass6 1024电商平台系统实战架构设计和实现需求分析 第1集 1024电商平台业务背景介绍和简历项目编写建议 简介:讲解电商营销中心的业务背景和简历项目编写建议 大课业 ...

  7. springboot的登录拦截器的学习

    在项目下新建config文件夹 新建LoginHandlerInterceptor类 具体内容 import org.springframework.stereotype.Component; imp ...

  8. 一款小清新的 SpringBoot+ Mybatis 前后端分离后台管理系统项目

    今日推荐 推荐3个快速开发平台 前后端都有 项目经验又有着落了推荐一个高仿微信的项目 有点屌!!一二线城市知名 IT 互联网公司名单(新版) 项目介绍 前后端分离架构,分离开发,分离部署,前后端互不影 ...

  9. springBoot 登录拦截器

    1.首选创建一个继承HandlerInterceptor的拦截器 import javax.servlet.http.HttpServletRequest; import javax.servlet. ...

  10. SpringBoot登录拦截器

    创建一个包叫:interceptor 新建一个类:LoginInterceptor,这个类需要是实现HandlerInterceptor 接口 public class LoginIntercepto ...

最新文章

  1. java 反射 protected_Java反射机制设置对象里的private、protected属性值
  2. 白话Elasticsearch04- 结构化搜索之使用terms query搜索多个值以及多值搜索结果优化
  3. Java HashMap 核心源码解读
  4. 跨域学习笔记2--WebApi 跨域问题解决方案:CORS
  5. Web App 和 Native App,哪个是趋势?
  6. 图计算-Pregel-Hama
  7. Linux下手动挂载新增磁盘
  8. 什么是Apache Flink
  9. Java 虚拟机简介
  10. emos mysql_EMOS 配置及优化
  11. Flash优秀学习资源下载总汇!(不断更新)
  12. 备份VMWare ESXi虚拟机
  13. 提高工作效率的软件推荐
  14. 数据结构目录树(严蔚敏王道)版
  15. 百度地图高级实例1-如何利用【百度地图API】,制作房产酒店地图?(上)
  16. 智能健身动作识别:PP-TinyPose打造AI虚拟健身教练!
  17. Msfvenom编码免杀技术实现免杀实战
  18. 时尚文化概论结课论文
  19. 边边角角,偶尔遇到——javascript
  20. MVP Open Day手记——场上场下同样精彩

热门文章

  1. 电子档案管理系统java,电子政务档案管理系统 [Java/JSP] struts+hibernate+spring-DZZW - CodeBus...
  2. python3安装setuptools步骤_python在Windows下安装setuptools(easy_install工具)步骤详解
  3. 操作系统 生产者消费者问题解释
  4. Pytorch各种损失函数
  5. pandas常用函数总结
  6. tensorflow:卷积函数----tf.nn.conv2d
  7. 分类器对未见过类别的识别问题
  8. leetcode——给定一个整数数组和一个目标值返回两个数字对应的索引,使得这两个数字之和等于目标值
  9. 使用主成分分析进行人脸识别
  10. python解决字符串替换问题