SpringSecurity--未登录时抛出异常的位置

一.SpringSecurity处理异常的过滤器

ExceptionTranslationFilter:此类位于 package org.springframework.security.web.access;

ExceptionTranslationFilter是SpringSecurity提供的一系列过滤器中的一个异常处理过滤器
作用是处理AuthenticationExceptionAccessDeniedException。见下图:
SpringSecurity--未登录时抛出异常的位置_第1张图片

二.未登录时抛出异常的位置

AffirmativeBased extends AbstractAccessDecisionManager:
package org.springframework.security.access.vote;

此类位于SpringSecurity的Interceptor中,此类的decide方法中进行投票选举,在这个类中的选举只会进行一次,结果是通过或不通过,不通过则会抛出AccessDeniedException。当我们没有进行登录或登录超时后访问受保护的资源时,就在这个地方抛出了异常,后续ExceptionTranslationFilter进行捕获处理。
SpringSecurity--未登录时抛出异常的位置_第2张图片

你可能感兴趣的:(SpringSecurity--未登录时抛出异常的位置)