首页 > 其他分享 >拦截器不生效的问题处理

拦截器不生效的问题处理

时间:2024-03-25 10:57:52浏览次数:31  
标签:拦截器 自定义 处理 token 生效 UserInterceptor public 第二步

拦截器没有注册到容器中,不能被容器管理

 

主要由以下两个步骤:

  1. 自定义拦截器类实现HandlerInterceptor接口

  2. 自定义WebMvc配置类实现WebMvcConfigurer接口,添加自定义拦截器类

主要是第二步缺少。

第一步:

自定义拦截器 UserInterceptor:
public class UserInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String token = request.getHeader("token");
        if(StringUtils.isEmpty(token)){
       ...
            return false;
        }
        return true;
    }
}

第二步:

配置自定义拦截器:
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Bean
private UserInterceptor userInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(userInterceptor)
             // 拦截的请求
                .addPathPatterns("/**")
             // 不用拦截的请求
                .excludePathPatterns("/login");
    }
}

补上第二步即可

 

标签:拦截器,自定义,处理,token,生效,UserInterceptor,public,第二步
From: https://www.cnblogs.com/xuchao0506/p/18093908

相关文章

  • 自定义异常以及统一处理自定义返回值
    需求,@ResponseStatus注解无法自定义返回值,所以放弃 实现/***自定义异常类*/publicclassMyExceptionextendsRuntimeException{//异常信息privateStringmessage;//构造函数publicMyException(Stringmessage){super(message);......
  • 纯技术开发出身 -- 给全国各地提供软件技术咨询服务的开展(大型信息系统建设、大数据处
    往往技术厉害的离不开现在工作的公司、需要有稳定的技术岗位工作、每个月需要按时还巨额房屋贷款,需要安心专注技术研究、安心手上的技术开发、日常技术难题解决等等,没精力全国各地开拓客户资源,也没精力对接各种不确定的客户需求;从社会分工的角度、还是需要有一些人精通技术然......
  • Python问题异常处理与日志结合
    我们掌握了try-except来处理程序运行中可能遇到的异常,以及使用logging来记录程序运行日志,该篇文章就结合二者来讲讲如何记录程序运行过程中的各种事件、状态信息以及遇到的异常情况,以便于追踪、诊断和解决程序运行时的问题。目录一、配置日志记录器 (logging.Logger)二、......
  • 如何处理多个字符串拼接出最大最小结果问题
    如题,给出若干个字符串输出字符串拼接成的最小的结果则我们应当对其进行排序,排序的规则是,如果总共字符串为s1,s2,s3.且如果是s1+s2大于s2+s1则应该将s2排在s1的前面,来使得最终拼接成的总字符串最小。排列后为s2,s1,s3.如果s1+s3>s3+s1的话将s3排在s1的前面。然后再进行s2与s3的......
  • Python实战:信号处理:signal模块
    1.引言在Unix-like操作系统中,信号是一种异步通知机制,用于在特定事件发生时通知进程。信号可以由内核、其他进程或进程自身发送。Python的signal模块提供了对Unix信号处理的接口,允许Python程序捕获和处理信号。掌握信号处理对于编写健壮、响应性好的Python程序至关重要。2......
  • Linux收到一个网络包是怎么处理的?
    目录摘要​编辑1从网卡开始2硬中断,有点短2.1GameOver3接力——软中断3.1NET_RX_SOFTIRQ软中断的开始3.2数据包到了协议栈3.3网络层处理3.4传输层处理4应用层的处理5总结摘要    一个网络包的接收始于网卡,经层层协议栈的解析,终于应用层。......
  • python处理excel,删除行和列+去除重复列
    删除指定的行与列点击查看代码importxlwingsasxw#下載下來的Excel,列和行有很多空白的,要先刪除掉.#打开Excel文件workbook=xw.Book('test.xlsx')sheet=workbook.sheets[0]#删除1-12行sheet.range('1:12').api.EntireRow.Delete()#删除A-G列sheet.range(......
  • 【晴问算法】入门篇—日期处理—日期加法
    题目描述给定一个日期DAY和一个正整数n,求日期DAY加上n天后的日期。输入描述第一行为给定的日期DAY(格式为YYYY-MM-DD,范围为1900-01-01<DAY≤2199-12-31),数据保证一定合法;第二行为需要增加的天数n(1≤n≤10000)。输出描述以YYYY-MM-DD的格式输出增加了n天后的日期。样例1......
  • 一个操作让数组处理速度快了5倍,到底是为什么
     概述:通过对数组进行排序,代码更好地利用了缓存,从而提高了程序的性能。这种现象通常被称为"缓存友好"(cache-friendly)或"空间局部性"(spatiallocality)今天做一个数组数据计算时,发现一个效率问题,给大家分享一下一个数组排序和不排序时同样的逻辑处理速度是不一样的。排序后速度......
  • Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向
    Java基础什么是JavaJava是一种由SunMicrosystems于1995年首次发布的编程语言和计算平台。Java是一种通用的、基于类的、面向对象的编程语言,旨在减少实现依赖性。它是一个应用程序开发的计算平台。Java快速、安全、可靠,因此在笔记本电脑、数据中心、游戏机、科学超级计......