javascript
Springsecurity之FilterSecurityInterceptor
2019獨角獸企業重金招聘Python工程師標準>>>
先上一張圖,如下圖1所示
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1 FilterSecurityInterceptor的beforeInvocation方法調用圖
? ? 從圖1中可以看出,使用了Template pattern。
FilterSecurityInterceptor中的securityMetadataSource是FilterInvocationSecurityMetadataSource,這是個interface類型,如下圖2,
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2 FilterInvocationSecurityMetadataSource
????如果是MethodSecurityInterceptor,那么它的securityMetadataSource是MethodSecurityMetadataSource,它的類圖如下圖3:
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖3 MethodSecurityMetadataSource的類圖
?
????FilterSecurityInterceptor的doFilter方法時序圖如下圖4:
? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖4 FilterSecurityFilter的doFilter時序圖
? ? 如圖4所示,invoke方法中,先調用父類的beforeInvocation方法,之后調用filterChain的doFilter方法,之后調用父類的finallyInvocation和afterInvocation
轉載于:https://my.oschina.net/u/2518341/blog/1942574
總結
以上是生活随笔為你收集整理的Springsecurity之FilterSecurityInterceptor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: smarty课程---最最最简单的sma
- 下一篇: 人工智能,人脸识别门禁下的校园考勤