# SpringSecurity抛出异常但AccessDeniedHandler不生效


参考地址

https://blog.csdn.net/qq_45848700/article/details/122319021

在自定义SpringSecurity捕获的异常,发现配置生效了,但是就是没有进行捕捉,通过打印控制台后发现,异常被全局异常处理器给捕获了,并且直接return返回了

        //配置异常处理器
        http.exceptionHandling()
                .authenticationEntryPoint(authenticationEntryPoint)
                .accessDeniedHandler(accessDeniedHandler);

解决方法,在全局异常处理器中把改异常抛出

    /**
     * SpringSecurity抛出异常但AccessDeniedHandler不生效
     * 全局异常中捕获AccessDeniedException再抛出就可以被AccessDeniedHandler捕获到了
     * @param e
     * @throws AccessDeniedException
     */
    @ExceptionHandler(AccessDeniedException.class)
    public void accessDeniedException(AccessDeniedException e) throws AccessDeniedException {
        throw e;
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM