Springsecurity之FilterSecurityInterceptor

2019-04-15 10:49:28 浏览数 (1)

先上一张图,如下图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

(adsbygoogle = window.adsbygoogle || []).push({});

0 人点赞