Search in sources :

Example 1 with CustomSessionListener

use of com.cdeledu.core.shiro.listener.CustomSessionListener in project wechat by dllwh.

the class ShiroConfig method sessionManager.

/**
 * @方法描述 : session管理器
 * @return
 */
// @Bean("sessionManager")
public DefaultWebSessionManager sessionManager() {
    DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
    // session的失效时长,默认是30 分钟((1800000)),该值以毫秒为时间单位
    sessionManager.setGlobalSessionTimeout(TIMEOUT);
    // 是否在会话过期后会调用SessionDAO的delete方法删除会话,默认true
    sessionManager.setDeleteInvalidSessions(true);
    // 间隔多少时间检查,不配置是60分钟
    sessionManager.setSessionValidationScheduler(sessionValidationScheduler());
    // 是否开启session验证检测
    sessionManager.setSessionValidationSchedulerEnabled(true);
    // 定时清理失效session , 清理用户直接关闭浏览器造成的孤立会话 :默认每小时检测一次
    sessionManager.setSessionValidationInterval(INTERVAL);
    // 是否启用/禁用,默认是启用的;如果禁用后将不会设置Session Id Cookie,即默认使用了Servlet容器的JSESSIONID
    sessionManager.setSessionIdCookieEnabled(true);
    sessionManager.setSessionIdCookie(sessionIdCookie());
    // sessionManager.setSessionIdUrlRewritingEnabled(false);
    // sessionManager.setSessionDAO(sessionDAO);
    // session 监听
    Collection<SessionListener> sessionListeners = Lists.newArrayList();
    sessionListeners.add(new CustomSessionListener());
    sessionManager.setSessionListeners(sessionListeners);
    return sessionManager;
}
Also used : DefaultWebSessionManager(org.apache.shiro.web.session.mgt.DefaultWebSessionManager) SessionListener(org.apache.shiro.session.SessionListener) CustomSessionListener(com.cdeledu.core.shiro.listener.CustomSessionListener) CustomSessionListener(com.cdeledu.core.shiro.listener.CustomSessionListener)

Aggregations

CustomSessionListener (com.cdeledu.core.shiro.listener.CustomSessionListener)1 SessionListener (org.apache.shiro.session.SessionListener)1 DefaultWebSessionManager (org.apache.shiro.web.session.mgt.DefaultWebSessionManager)1