shiro在项目中的使用(三)整合ehcache缓存

前言
在上一篇文章中,我们写了相关shiro的权限管理,我们可以看到,用户权限的授予是通过自定义Realm中的授权方法doGetAuthorizationInfo(PrincipalCollection principals)实现的,这样虽然初步解决了权限的管理问题,但是用户在每一次对功能方法的访问都会调用这个授权方法去获取自己的权限,这样的重复查询访问数据库无疑降低了系统的运行效率。所以shiro整合ehcache迫在眉睫。

ehcache配置简要说明





 

shiro整合ehcache
【1】下载jar包
com.springsource.net.sf.ehcache-1.6.2.jar
【2】配置ehcache.xml

  
    

    

【3】将缓存管理器注入spring


    
        
        
    

这里cacheManager的注入要读取缓存配置文件,根据配置注入进spring
【4】将缓存管理器托管给shiro的securityManager核心管理器管理


    
        
        
        
        
    
shiro在项目中的使用(三)整合ehcache缓存_第1张图片
2017-08-29_105632.png

根据下图,我们可以知道securityManager是shiro的核心管理器,所有的认证器、授权器、realm、session已经缓存均由他管理,所以务必要将缓存管理器cacheManagerset注入给securityManager核心管理器。


shiro在项目中的使用(三)整合ehcache缓存_第2张图片
2017-08-26_172838.png

好了,以上配置就完成了我们shiro与ehcache的整合,最后来一个shiro在spring中完整的配置


    
        
        
        
        
        
        
        
        
        
        
            
                /css/** = anon
                /images/** = anon
                /js/** = anon
                /login.jsp* = anon
                /validatecode.jsp* = anon
                /userAction_login.action = anon
                /page_base_staff.action = perms["staff"]
                /* = authc
            
            
        
    
    
    
    
    
    
    
        
        
        
        
    
    
    
    
        
        
    
    
    
    
        
        
    
    
    
    

你可能感兴趣的:(shiro在项目中的使用(三)整合ehcache缓存)