spring boot 使用拦截器 实现 用户登录拦截

时间:2022-07-10 22:51:12
登录拦截和和权限拦截实现类似
 
首先自定义一个【DefineAdapter】类,这个类我是用来放自定义的配置(比如 自定义请求参数,自定义拦截器等),集成WebMvcConfigurerAdapter 重写他的addInterceptors 方法,将你拦截器的实现类
加入即可,DefineAdapter 代码如下:
 
@Configuration
public class DefineAdapter extends WebMvcConfigurerAdapter {
@Autowired
public RoleInterceptor roleInterceptor;//用户角色拦截器
@Autowired
public LoginInterceptor loginInterceptor;//用户登录拦截器
@Autowired
MeidaRequestDataCustomArgumentResolver meidaRequestDataCustomArgumentResolver;//自定义参数绑定
//自定义参数绑定
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
super.addArgumentResolvers(argumentResolvers);
argumentResolvers.add(meidaRequestDataCustomArgumentResolver);
}
//自定义拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
//用户角色拦截器
registry.addInterceptor(roleInterceptor).
addPathPatterns("/**”);
//用户登录拦截器
registry.addInterceptor(loginInterceptor).
addPathPatterns("/**").
addPathPatterns("/*/login").
addPathPatterns("/*/h5/login").
excludePathPatterns("/switch/*");
super.addInterceptors(registry);
}
 
(自定义参数绑定 可以不用管,你就当没有那段代码!!)
addInterceptors:添加你自定义拦截器的实现逻辑类
addPathPatterns:添加你要拦截的请求路径,如果有多个路径,就继续addPathPatterns
excludePathPatterns:添加你不需要拦截的请求路径
 
我拦截器具体的实现逻辑是LoginInterceptor 这个类,代码如下:
 
@Service
public class LoginInterceptor extends HandlerInterceptorAdapter { {
protected static final Log logger = LogFactory.getLog(LoginInterceptor.class);
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){ String userId = request.getParameter("userId");
if (StringUtils.isNotBlank(userId)){
return false; }
}
继承 HandlerInterceptorAdapter 抽象类,实现preHandle方法,在里面写你的拦截逻辑。
 
完!

spring boot 使用拦截器 实现 用户登录拦截的更多相关文章

  1. SpringMVC拦截器实现用户登录拦截

    本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现 当用户点击到网站主页时要进行拦截,用户登录了才能进入网站主页,否则进入登陆页面 核心代码 首先是index.jsp,显示链接 1 < ...

  2. Springboot 拦截器配置(登录拦截)

    Springboot 拦截器配置(登录拦截) 注意这里环境为springboot为2.1版本 1.编写拦截器实现类,实现接口   HandlerInterceptor, 重写里面需要的三个比较常用的方 ...

  3. springMVC使用拦截器检查用户登录

    参考文章 编写拦截器类 package cultivate_web.interceptor; import javax.servlet.http.HttpServletRequest; import ...

  4. springmvc拦截器实现用户登录权限验证

    实现用户登录权限验证 先看一下我的项目的目录,我是在intellij idea 上开发的 1.先创建一个User类 package cn.lzc.po; public class User { pri ...

  5. 系统开发中使用拦截器校验是否登录并使用MD5对用户登录密码进行加密

    项目名称:客户管理系统 项目描述: 项目基于javaEE平台,B/S模式开发.使用Struts2.Hibernate/Spring进行项目框架搭建.使用Struts中的Action 控制器进行用户访问 ...

  6. Spring Boot实现一个监听用户请求的拦截器

    项目中需要监听用户具体的请求操作,便通过一个拦截器来监听,并继续相应的日志记录 项目构建与Spring Boot,Spring Boot实现一个拦截器很容易. Spring Boot的核心启动类继承W ...

  7. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,guava限流,定时任务案例&comma; 发邮件

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

  8. 用户登录拦截器查询到登录用户后如何将用户信息传递到后面的Controller

    taotao创建订单代码中之前忘了加入用户信息,那么加上呢? 分析:用户创建订单的时候,我们会强制要求用户先登录,也就是说,创建订单的Controller执行时,一定是用户已经登录了的,而用户只要登录 ...

  9. springmvc3 拦截器&comma;过滤ajax请求&comma;判断用户登录&comma;拦截规则设置

    web.xml设置:(/拦截所有请求) <servlet> <servlet-name>dispatcher</servlet-name> <servlet- ...

随机推荐

  1. 通过一个demo了解Redux

    TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象:使用数据流能帮我们明确了行为对应的响应,这和react的状态可预测的思想是不谋而合的. 常见的数据流框架 ...

  2. zoj 3795 Grouping tarjan缩点 &plus; DGA上的最长路

    Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Practic ...

  3. codeforces 725D &period; Contest Balloons&lpar;贪心&plus;优先队列&rpar;

    题目链接:codeforces 725D . Contest Balloons 先按气球数从大到小排序求出初始名次,并把名次排在第一队前面的队放入优先队列,按w-t-1值从小到大优先,然后依次给气球给 ...

  4. Gradle Goodness&colon; Continue Build Even with Failed Tasks

    If we run a Gradle build and one of the tasks fails, the whole build stops immediately. So we have f ...

  5. 关于java&period;lang&period;IllegalArgumentException&colon; View not attached to window manager 错误的分析

    今天遇到一个很奇特的问题,当用户设置了PIN码,在锁屏界面正常解锁PIN码后,进入Launcher时显示com.android.phone 已停止运行.一开始猜想会不会是解锁PIN码的时候处理导致了P ...

  6. C&num;目录文件复制、创建操作

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  7. Django学习(三)---Models&lpar;ORM框架&rpar;

    1) Django 中Models是与数据库相关的,与数据库相关的代码一般写在 models.py中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在sett ...

  8. java课程设计&lpar;个人&rpar;--五子棋

    1.团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html 2.个人负责模块说明 棋盘类,绘制棋盘,绘制棋子,按钮设置,鼠标监听 ...

  9. tomcat logs目录下 日志文件含义及配置位置

    含义:Web服务器访问日志配置位置:server.xml 含义:tomcat的标准输出(stdout)和标准出错(stderr),应用里使用System.out打印的东西都会到这里来,日志框架,配置了 ...

  10. 今天我给你们推荐一本书《Linux就该这么学》!!!

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...