Spring security中的异常主要分为两大类:认证异常(AuthenticationException)及权限异常(AccessDeniedException),除此之外的异常则抛出,交给spring去处理。
认证异常类

权限异常

Spring security中的异常处理任务主要是在ExceptionTranslationFilter过滤器中完成的。该过滤器主要处理AuthenticationException和AccessDeniedException类型的异常,其他异常则会继续抛出,交给上一层容器去处理。
在WebSecurityConfigurerAdapter#getHttp方法中进行HttpSecurity初始化的时候,就调用了exceptionHandling()方法去配置ExceptionTranslationFilter过滤器:
- protected final HttpSecurity getHttp() throws Exception {
- // ...
- if (!this.disableDefault