一 .概述
上一节,我们实现了数据库的授权访问.
但是有一个问题很严重,我们的授权每一次都在访问数据库.
这在正常使用的过程中根本不可行,现在我们就要加入缓存的支持.
在shiro之中,重写任何一个组件都十分的简单.本次我们首先使用Ehcache缓存实现.
好在,shiro为我们提供了一个基于Ehcache的缓存实现.
加入maven的依赖:
二 .加入缓存的实现.
配置spring.xml文件.
<!-- 配置缓存管理器 -->
<bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
<property name="cacheManagerConfigFile" value="classpath:ehcache.xml"></property>
</bean>
<!-- 配置安全管理器 -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="realm"></property>
<property name="cacheManager" ref="cacheManager"></property>
</bean>
首先添加一个缓存管理器,然后将缓存管理加入到SecurityManager之中.
这就完成了所有的所有的配置了.
就是这么简单.
现在我们测试一下效果.
看是否看存在多次访问数据库的现象.
我们看到多次进行授权,shiro并没有多次访问数据库,说明我们的缓存实现成功了.