session共享
登录缓存清理 缓存更换为redis缓存代码提交
This commit is contained in:
@@ -77,14 +77,25 @@
|
||||
|
||||
<!-- 定义Shiro安全管理配置 -->
|
||||
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
|
||||
<property name="realm" ref="systemAuthorizingRealm" />
|
||||
<!-- <property name="realm" ref="systemAuthorizingRealm" /> -->
|
||||
<property name="realm" ref="shiroRealm" />
|
||||
<property name="sessionManager" ref="sessionManager" />
|
||||
<property name="cacheManager" ref="shiroCacheManager" />
|
||||
</bean>
|
||||
|
||||
<bean id="shiroRealm" class="com.nis.web.security.SystemAuthorizingRealm">
|
||||
<!-- 启用缓存 -->
|
||||
<property name="cachingEnabled" value="true"></property>
|
||||
<!-- 启用身份验证缓存 -->
|
||||
<property name="authenticationCachingEnabled" value="true"></property>
|
||||
<!-- 启用授权缓存 -->
|
||||
<property name="authorizationCachingEnabled" value="true"></property>
|
||||
</bean>
|
||||
|
||||
<!-- 自定义会话管理配置 -->
|
||||
<bean id="sessionManager" class="com.nis.web.security.SessionManager">
|
||||
<property name="sessionDAO" ref="sessionDAO"/>
|
||||
<!-- <property name="sessionDAO" ref="sessionDAO"/> -->
|
||||
<property name="sessionDAO" ref="redisSessionDAO"/>
|
||||
|
||||
<!-- 会话超时时间,单位:毫秒 -->
|
||||
<property name="globalSessionTimeout" value="${session.sessionTimeout}"/>
|
||||
@@ -98,22 +109,35 @@
|
||||
<property name="sessionIdCookieEnabled" value="true"/>
|
||||
</bean>
|
||||
|
||||
<bean id="redisSessionDAO" class="com.nis.web.security.CacheSessionDAO">
|
||||
<property name="expire" value="${redis.expire}"></property>
|
||||
<property name="redisManager" ref="redisManager"></property>
|
||||
<property name="keyPrefix" value="shiro_redis_"></property>
|
||||
</bean>
|
||||
|
||||
<!-- 指定本系统SESSIONID, 默认为: JSESSIONID 问题: 与SERVLET容器名冲突, 如JETTY, TOMCAT 等默认JSESSIONID,
|
||||
当跳出SHIRO SERVLET时如ERROR-PAGE容器会为JSESSIONID重新分配值导致登录会话丢失! -->
|
||||
<bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
|
||||
<constructor-arg name="name" value="nis.session.id"/>
|
||||
</bean>
|
||||
|
||||
<bean id="sessionDAO" class="com.nis.web.security.CacheSessionDAO">
|
||||
<!-- <bean id="sessionDAO" class="com.nis.web.security.CacheSessionDAO">
|
||||
<property name="sessionIdGenerator" ref="idGen" />
|
||||
<property name="activeSessionsCacheName" value="activeSessionsCache" />
|
||||
<property name="cacheManager" ref="shiroCacheManager" />
|
||||
</bean>
|
||||
</bean> -->
|
||||
|
||||
<!-- 定义授权缓存管理器 -->
|
||||
<!-- <bean id="shiroCacheManager" class="com.thinkgem.jeesite.common.security.shiro.cache.SessionCacheManager" /> -->
|
||||
<bean id="shiroCacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
|
||||
<!-- <bean id="shiroCacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
|
||||
<property name="cacheManager" ref="cacheManager"/>
|
||||
</bean> -->
|
||||
<bean id="shiroCacheManager" class="org.crazycake.shiro.RedisCacheManager">
|
||||
<property name="redisManager" ref="redisManager"/>
|
||||
</bean>
|
||||
|
||||
<bean id="redisManager" class="org.crazycake.shiro.RedisManager">
|
||||
<property name="host" value="${redis.host}"></property>
|
||||
<property name="timeout" value="${redis.timeout}"></property>
|
||||
</bean>
|
||||
|
||||
<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
|
||||
|
||||
Reference in New Issue
Block a user