一般shiro的securityManage会配置一个sessionMange。对这个配置有点疑问,特意学习了下。
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="defautlRealm" />
<property name="sessionManager" ref="sessionManager" />
<property name="cacheManager" ref="cacheManager" >
<property name="authenticator.authenticationListeners"> <!--配置自己的登录、登出监听器。 -->
<list>
<bean class="com.thinkgem.jeesite.modules.sys.listener.MultiAccountLoginListener" />
</list>
</property>
</bean>
cacheManager:就是配置授权的缓存器。一般也是默认的shiro实现,如果想用redis或者ecache来实现,在这里配置一下就行,下面是常用的三种缓存管理器:
1,基于jvm内存的缓存管理:
<bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager" />
2,基于redis的缓存管理:
<bean id="shiroCacheManager" class="com.minstone.common.security.shiro.cache.RedisCacheManager">
<property name="redisManager" ref="redisManager" />
</bean>
<bean id="redisManager" class="com.minstone.common.utils.redis.RedisManager">
<!-- 连接池配置 -->
<property nam