shiro 学习之多 Realm 配置

配置多个 Realm 我感觉是有很多好处的,比如说可以在第一个 realm 中的数据源设置为缓存, 那么就可以先去缓存中查用户,查不到再去数据库中查,对吧,或者说我这个项目就配有多数据源,就可以一个一个库去查啦,暂时想到就这么多.


项目地址:https://github.com/thecattle/spring-mvc-shiro


可以看到这里没有直接在securityManager里配置 realm 参数,而是直接配置authenticator参数,是在这里向ModularRealmAuthenticator类注入 realms 参数,都在注释里.
要注意的是authenticationStrategy参数:

  • AllSuccessfulStrategy:所有 realm 全部认证通过才算登录成功
  • FirstSuccessfulStrategy:验证某个 realm 成功后直接返回,不会验证后面的 realm 了
  • AtLeastOneSuccessfulStrategy:所有的 realm 都会验证,其中一个成功,也会继续验证后面的 realm,最后返回成功

下面的otherRealm类和myRealm是自定义的realm,需要继承AuthorizingRealm.

otherRealm:普通认证的 realm
myRealm:加密认证的 realm

 
        
        
        
        
        
        

    

    
    

        
        
            
                
                
            
        
        

            
            
            
            
            
            
        
    

    
    
        
        
            
                
                
                
                
                
                
            
        
    
    
    

OtherRealm:

shiro 学习之多 Realm 配置_第1张图片
image.png

MyRealm:

shiro 学习之多 Realm 配置_第2张图片
image.png

今天感觉好累啊 也不知道写什么了,先到这

你可能感兴趣的:(shiro 学习之多 Realm 配置)