权限认证有三块(1)过滤器 (2)拦截器 (3)单独写代码逻辑处理,函数调用等。
只有过滤器运行逻辑:,
过滤器中的内容\->doFilter->doFilter后面的逻辑
过滤器中的内容
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
doFilter
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############
过滤器中的内容
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
doFilter
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############
\-------------------------------------------------------------------------------------------------------------------------------
有过滤器,又有拦截器,执行逻辑如下:
过滤器中的内容\->拦截器preHandle-执行控制器的内容逻辑->拦截器postHandle->拦截器afterCompletion->过滤器doFilter->doFilter\->doFilter后面的逻辑->
过滤器:
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
拦截器preHandle:
\*\*\*\*\*\*\*\*\*\*\*\*TestInterceptor preHandle executed\*\*\*\*\*\*\*\*\*\*
过了拦截器preHandle后,执行controller层逻辑:
\---------TestController executed--------
拦截器postHandle:
\*\*\*\*\*\*\*\*\*\*\*\*TestInterceptor postHandle executed\*\*\*\*\*\*\*\*\*\*
拦截器afterCompletion:
\*\*\*\*\*\*\*\*\*\*\*\*TestInterceptor afterCompletion executed\*\*\*\*\*\*\*\*\*\*
过滤器doFilter 验证后的逻辑:
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############
过滤器:
############TestFilter1 doFilterInternal executed############
############TestFilter2 doFilterInternal executed############
过了拦截器preHandle后,执行controller层逻辑:
\*\*\*\*\*\*\*\*\*\*\*\*TestInterceptor preHandle executed\*\*\*\*\*\*\*\*\*\*
过了拦截器preHandle后,执行controller层逻辑:
\---------TestController executed--------
拦截器postHandle:
\*\*\*\*\*\*\*\*\*\*\*\*TestInterceptor postHandle executed\*\*\*\*\*\*\*\*\*\*
拦截器afterCompletion:
\*\*\*\*\*\*\*\*\*\*\*\*TestInterceptor afterCompletion executed\*\*\*\*\*\*\*\*\*\*
过滤器doFilter 验证后的逻辑:
############TestFilter2 doFilter after############
############TestFilter1 doFilter after############
结论:
过滤器在拦截器之前,过滤器是全局的。过滤器的规则完全依赖于url-pattern,如果路由规则不符合url-pattern,不走相关过滤器。如果想让过滤器失效,需要想办法绕过url-pattern规则,比如说url-pattern的配置不当可以被绕过。
TRANSLATE with x
English
TRANSLATE with
COPY THE URL BELOW
Back
EMBED THE SNIPPET BELOW IN YOUR SITE
Enable collaborative features and customize widget: Bing Webmaster Portal
Back
此页面的语言为加利西亚语
翻译为中文(简体)
随时将加利西亚语翻译为中文(简体)PRO
一律不翻译加利西亚语
一律不翻译i.cnblogs.com