Shiro Realm 权限的验证流程和缓存机制
我们可以定义多个Realm权限类,继承AuthenticatingRealm。 如果是这样,那Shiro验证的策略和顺序是怎样的呢? 策略 通过查看源码,Shiro的Spring Boot自动配置是至少一个通过策略,即有一个权限类通过就判定有权限并通过。 自动配置类: org.apache.shiro.spring.config.web.autoconfigure.ShiroWebAutoConfiguration @Bean @ConditionalOnMissingBean @Override protected AuthenticationStrategy authenticationStrategy() { return super.authenticationStrategy(); } protected AuthenticationStrategy authenticationStrategy() { return new AtLeastOneSuccessfulStrategy(); } 其他还有全部通过、首个通过,更多可以查看Shiro包下面的权限策略。 org.apache.shiro.authc.pam 顺序 Shiro是按在Spring Boot配置类中定义Realm Bean的顺序进行验证权限的。 验证流程 假设现在有R1,R2权限类