1. 程式人生 > >【筆記】shiro中的session設定:

【筆記】shiro中的session設定:


1.匯入依賴包
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-guartz</artifactId>
<version>版本</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>版本</version>
</dependency>
2.修改spring-shiro.xml檔案
<!-- Java UUID sessionId生成器 -->
<bean id="sessionIdGenerator" class="org.apache.shiro.session.mgt.eis.JavaUuidSessionIdGenerator"/>
<!-- 會話策略 -->
<bean id="sessionDAO" class="org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO">
<property name="sessionIdGenerator" ref="sessionIdGenerator"/>
<property name="activeSessionsCacheName" value="shiro-activeSessionCache"/>
</bean>
<bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
<property name="name" value="mldn-session-id"/><!-- 設定的sessionId的name -->
<property name="httpOnly" value="true"/><!-- 只支援http -->
<property name="maxAge" value="-1"/> <!-- 瀏覽器關閉後cookie失效 -->
</bean>
<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
<property name="sessionDAO" ref="sessionDAO"/>
<property name="globalSessionTimeout" value="300000"/>
<property name="deleteInvalidSessions" value="true"/>
<property name="sessionValidationSchedulerEnabled" value="true"/>
<property name="sessionIdCookie" ref="sessionIdCookie"/>
<property name="sessionIdCookieEnabled" value="true"/>
</bean>
<bean id="sessionValidationScheduler" class="org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler">
<property name="sessionValidationInterval" value="100000"/>
<property name="sessionManager" ref="sessionManager"/>
</bean>
追加securityManager的屬性配置
<property name="sessionManager" ref="sessionManager"/>