當前位置: 首頁>>代碼示例>>Java>>正文


Java Session.setTimeout方法代碼示例

本文整理匯總了Java中org.apache.shiro.session.Session.setTimeout方法的典型用法代碼示例。如果您正苦於以下問題:Java Session.setTimeout方法的具體用法?Java Session.setTimeout怎麽用?Java Session.setTimeout使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.shiro.session.Session的用法示例。


在下文中一共展示了Session.setTimeout方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: saveSession

import org.apache.shiro.session.Session; //導入方法依賴的package包/類
/**
 * save session
 * @param session
 * @throws UnknownSessionException
 */
private void saveSession(Session session) throws UnknownSessionException{
    if(session == null || session.getId() == null){
        logger.error("session or session id is null");
        return;
    }
    
    byte[] key = getByteKey(session.getId());
    byte[] value = JavaSerializeUtil.serialize(session);
    session.setTimeout(expire*1000);
    try {
        this.jedisClient.set(key, value, expire);
    }catch (Exception e){
        e.printStackTrace();
    }
}
 
開發者ID:babymm,項目名稱:mumu,代碼行數:21,代碼來源:RedisSessionDAO.java

示例2: doCreate

import org.apache.shiro.session.Session; //導入方法依賴的package包/類
/**
 * SessionManager創建完session後會調用該方法
 * @param session
 * @return
 */
@Override
protected Serializable doCreate(Session session) {
    Serializable sessionId = this.generateSessionId(session);
    assignSessionId(session,sessionId);
    Jedis jedis = null;
    try{
        jedis = jedisPool.getResource();
        //session由Redis緩存失效決定,這裏作簡單標識
        session.setTimeout(expireTime);
        jedis.setex(prefix + sessionId, expireTime, SerializeUtils.serializaToString((ShiroSession) session));
        logger.info("sessionId {} name {} 被創建", sessionId, session.getClass().getName());
    }catch (Exception e){
        logger.warn("創建session失敗",e);
    }finally {
        jedis.close();
    }
    return sessionId;
}
 
開發者ID:ZhuXS,項目名稱:Spring-Shiro-Spark,代碼行數:24,代碼來源:ShiroSessionDao.java

示例3: setAuthenticationSession

import org.apache.shiro.session.Session; //導入方法依賴的package包/類
/**
 * 將一些數據放到ShiroSession中,以便於其它地方使用
 * 比如Controller裏麵,使用時直接用HttpSession.getAttribute(key)就可以取到
 */
private void setAuthenticationSession(Object value){
    Subject currentUser = SecurityUtils.getSubject();
    if(null != currentUser){
        Session session = currentUser.getSession();
        System.out.println("當前Session超時時間為[" + session.getTimeout() + "]毫秒");
        session.setTimeout(1000 * 60 * 60 * 2);
        System.out.println("修改Session超時時間為[" + session.getTimeout() + "]毫秒");
        session.setAttribute("currentUser", value);
    }
}
 
開發者ID:v5java,項目名稱:demo-springmvc-shiro,代碼行數:15,代碼來源:MyRealm.java

示例4: kickoutByAccount

import org.apache.shiro.session.Session; //導入方法依賴的package包/類
@Override
public void kickoutByAccount(String account) {
	if (Strings.isNullOrEmpty(account)) return;
	Collection<Session> sessions = sessionDAO.getActiveSessions();
	if (sessions.size() <= 0) return;
	System.out.println("kickoutByAccount sessions size is :" + sessions.size());
	for(Session session : sessions){
		Object obj = session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
		if (obj != null) {
			String tempName = obj.toString();
			if (account.equals(tempName)) {
				// 會話已失效  但在線列表仍可獲取Session會話對象
				session.setAttribute("kickout", true); // 標記為已下線
				session.setTimeout(0L); //設置session立即失效,即將其踢出係統break;
				// session.stop(); //銷毀Shiro的會話
				
				// 記錄日誌
				LoginLog log = new LoginLog();
				log.setUserId(account);
				log.setLoginType((short) 1);
				log.setLoginDesc("賬號異地登錄,被迫強製下線");
				log.setIpInfoCountry(null);
				log.setIpInfoRegion(null);
				log.setIpInfoCity(null);
				log.setIpInfoIsp(null);
				log.setLoginIp(RequestUtil.getAddr(RequestUtil.getRequest()));
				log.setLoginTime(new Timestamp(new Date().getTime()));
				
				// 保存退出日誌
				loginLogMapper.insert(log);
				break;
			}
		}
	}
}
 
開發者ID:butter-fly,項目名稱:belling-admin,代碼行數:36,代碼來源:UserOnlineServiceImpl.java

示例5: kickoutBySessionId

import org.apache.shiro.session.Session; //導入方法依賴的package包/類
@Override
public void kickoutBySessionId(String sessionId) {
	Session session = getSessionBysessionId(sessionId);
	if (null != session) {
		session.setAttribute("kickout", true); // 標記為已下線
		session.setTimeout(0L); //設置session立即失效,即將其踢出係統break;
		// session.stop(); //銷毀Shiro的會話
	}
}
 
開發者ID:butter-fly,項目名稱:belling-admin,代碼行數:10,代碼來源:UserOnlineServiceImpl.java

示例6: newSessionInstance

import org.apache.shiro.session.Session; //導入方法依賴的package包/類
@Override
protected Session newSessionInstance(SessionContext context) {
	Session session = super.newSessionInstance(context);
	session.setTimeout(getGlobalSessionTimeout());
	return session;
}
 
開發者ID:funtl,項目名稱:framework,代碼行數:7,代碼來源:SessionManager.java


注:本文中的org.apache.shiro.session.Session.setTimeout方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。