• 全局异常拦截和Spring Security认证异常的拦截的顺序


    📑前言

    本文主要全局异常拦截和Spring Security认证异常的顺序,如果有什么需要改进的地方还请大佬指出⛺️

    🎬作者简介:大家好,我是青衿🥇
    ☁️博客首页:CSDN主页放风讲故事
    🌄每日一句:努力一点,优秀一点

    如果同时配置了全局异常拦截和authenticationEntryPoint拦截,它们的处理顺序将取决于具体的配置和触发条件。

    全局异常拦截器

    如果在Controller层发生错误,并且已经配置了全局异常拦截器,错误会被全局异常拦截器捕获并进行相应的处理。这意味着全局异常拦截器会先于authenticationEntryPoint拦截器执行。
    全局异常拦截器可以捕获各种类型的异常,包括Spring框架内部的异常、自定义异常等。你可以定义不同类型的异常处理方法,根据具体的异常类型进行相应的处理逻辑。

    authenticationEntryPoint拦截器:

    如果Controller层发生错误,并且请求需要经过Spring Security的身份验证,且已经配置了authenticationEntryPoint拦截器,错误会被authenticationEntryPoint拦截器捕获并进行相应的处理。这意味着authenticationEntryPoint拦截器会在全局异常拦截器之后执行。
    authenticationEntryPoint通常用于处理未经身份验证的访问请求,例如重定向到登录页面或返回身份验证错误信息等。

    总结

    如果异常是身份验证相关的问题,即需要经过Spring Security进行处理的异常,一般情况下会先被全局异常拦截器捕获,然后再被authenticationEntryPoint拦截器处理。

    全局异常拦截器可以捕获各种类型的异常,包括身份验证相关的异常。当出现身份验证问题时,异常会首先被全局异常拦截器捕获。然后根据配置,如果请求需要经过Spring Security的身份验证,authenticationEntryPoint拦截器会接管处理这个异常,例如重定向到登录页面或返回身份验证错误信息。

    总的来说,无论异常是否是身份验证相关的问题,先被全局异常拦截器捕获是一个较为通用的处理流程。而后续的处理则取决于具体的异常类型和Spring Security的配置。

    📑文章末尾

    在这里插入图片描述

  • 相关阅读:
    MySQL查询优化实例
    【python】python内置函数——eval()/exec()执行一个字符串形式的python表达式
    lambda表达式 —— 过滤再排序未生效问题排查
    ifort + mkl + impi (全套intel)编译安装量子化学软件GAMESS 2022 R1版本
    安卓手机检测水表的帧率问题
    电脑怎么迁移游戏资源,数据迁移能把游戏数据迁移吗
    Day25_8 Java学习之UDP通信程序
    CF思维训练
    react 实战- 玩转 react 全家桶(进阶)学习
    HTML+CSS个人静态网页设计
  • 原文地址:https://blog.csdn.net/2301_80092713/article/details/134471449