1、在shiro的配置文件中配置。
<!-- 會話管理器 --> <bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager"> <!-- 設置超時時間 --> <property name="globalSessionTimeout" value="1800000"/> </bean>
2、通過API來設置。
Shiro的Session接口有一個setTimeout()方法,登錄后,可以用如下方式取得session
SecurityUtils.getSubject().getSession().setTimeout(1800000);
設置的最大時間,正負都可以,為負數時表示永不超時。
SecurityUtils.getSubject().getSession().setTimeout(-1000l);
注意:這里設置的時間單位是:ms,但是Shiro會把這個時間轉成:s,而且是會舍掉小數部分,如設置的是-1ms,轉成s后就是0s,馬上就過期了。所以要是除以1000以后還是負數,必須設置小於-1000
