• 全局异常拦截和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的配置。

    📑文章末尾

    在这里插入图片描述

  • 相关阅读:
    Java面试题以及答案(六)Jvm
    黑马C++ 01 基础 —— 数组、函数
    Nginx配置反向代理
    【pytorch】torch.cuda.is_available() = False 可能的解决办法
    云原生环境中的自动化测试成功案例分析
    【Focal Net】NeuralPS2022 论文+代码解读 Focal Modulation Networks
    位运算详细介绍
    Spring 中AspectJ框架简介说明
    数仓相关,总结
    B站崩了,如果是你是那晚负责的开发人员你会怎么做?
  • 原文地址:https://blog.csdn.net/2301_80092713/article/details/134471449