⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sessionfilterhelper.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * SessionFilterHelper.java
 *
 * Created on 2002/03/09, 20:37
 */

package jp.co.intra_mart.framework.base.session;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import jp.co.intra_mart.foundation.security.AccessSecurityManager;
import jp.co.intra_mart.foundation.security.SecurityConstraint;
import jp.co.intra_mart.foundation.security.SessionInfo;
import jp.co.intra_mart.foundation.security.exception.AccessSecurityException;

/**
 * 僙僢僔儑儞偵娭楢偡傞僿儖僷乕僋儔僗偱偡丅
 *
 * @author INTRAMART
 * @version 1.0
 */
class SessionFilterHelper {

    /**
     * 僙僢僔儑儞偑堐帩偝傟偰偄傞偐偳偆偐僠僃僢僋偟傑偡丅
     *
     * @param session 僙僢僔儑儞僆僽僕僃僋僩
     * @return 僙僢僔儑儞偑堐帩偝傟偰偄傞応崌偼false丄偦傟埲奜偼true
     * @throws SessionManagerException 僙僢僔儑儞儅僱乕僕儍偺庢摼帪偵椺奜偑敪惗
     * @throws SessionPropertyException 僙僢僔儑儞僾儘僷僥傿偺庢摼帪偵椺奜偑敪惗
     * @throws SessionObjectException 僙僢僔儑儞僆僽僕僃僋僩偐傜懏惈庢摼帪偵椺奜偑敪惗
     * @deprecated HttpServletRequest偲HttpServletResponse偱敾掕偡傞傛偆偵偟偰偔偩偝偄丅
     */
    static boolean isSessionTimeOut(SessionObject session) throws SessionManagerException, SessionPropertyException, SessionObjectException {
        SessionManager manager = SessionManager.getSessionManager();
        SessionPropertyHandler handler = manager.getSessionPropertyHandler();
        String loginUserIDKey = handler.getLoginUserIDKey();
        String loginUserID = (String)session.getAttribute(loginUserIDKey);
        String loginGroupIDKey = handler.getLoginGroupIDKey();
        String loginGroupID = (String)session.getAttribute(loginGroupIDKey);

        return isSessionTimeOut(loginUserID, loginGroupID);
    }

    /**
     * 僙僢僔儑儞偑堐帩偝傟偰偄傞偐偳偆偐僠僃僢僋偟傑偡丅
     *
     * @param session 僙僢僔儑儞
     * @return 僙僢僔儑儞偑堐帩偝傟偰偄傞応崌偼false丄偦傟埲奜偼true
     * @throws SessionManagerException 僙僢僔儑儞儅僱乕僕儍偺庢摼帪偵椺奜偑敪惗
     * @throws SessionPropertyException 僙僢僔儑儞僾儘僷僥傿偺庢摼帪偵椺奜偑敪惗
     * @throws SessionObjectException 僙僢僔儑儞僆僽僕僃僋僩偐傜懏惈庢摼帪偵椺奜偑敪惗
     * @deprecated HttpServletRequest偲HttpServletResponse偱敾掕偡傞傛偆偵偟偰偔偩偝偄丅
     */
    static boolean isSessionTimeOut(HttpSession session) throws SessionManagerException, SessionPropertyException, SessionObjectException {
        if (session == null) {
            return true;
        } else {
            SessionManager manager = SessionManager.getSessionManager();
            SessionPropertyHandler handler = manager.getSessionPropertyHandler();
            String loginUserIDKey = handler.getLoginUserIDKey();
            String loginUserID = (String)session.getAttribute(loginUserIDKey);
            String loginGroupIDKey = handler.getLoginGroupIDKey();
            String loginGroupID = (String)session.getAttribute(loginGroupIDKey);

            return isSessionTimeOut(loginUserID, loginGroupID);
        }
    }

    /**
     * 僙僢僔儑儞偑堐帩偝傟偰偄傞偐偳偆偐僠僃僢僋偟傑偡丅
     * 
     * @param request 儕僋僄僗僩
     * @param response 儗僗億儞僗
     * @return 僙僢僔儑儞偑堐帩偝傟偰偄傞応崌偼false丄偦傟埲奜偼true
     * @throws IllegalSessionException 儐乕僓僙僢僔儑儞庢摼帪偵椺奜偑敪惗
     * @since 5.0
     */
    static boolean isSessionTimeOut(HttpServletRequest request, HttpServletResponse response) throws IllegalSessionException {
    	if(request == null || response == null) {
    		return true;
    	} else {
			try {
				AccessSecurityManager manager = AccessSecurityManager.getInstance();
				SessionInfo info = manager.getSessionInfo(request, response);
				if(manager.getSessionMode(info) != SecurityConstraint.CR_SESSION_LOGON) {
					return true;
				}
			} catch (AccessSecurityException e) {
				throw new IllegalSessionException(e.getMessage(),e);
			}
    	}
    	return false;
    }
    
    private static boolean isSessionTimeOut(String loginUserID, String loginGroupID) {
        boolean result = true;

        // 儘僌僀儞儐乕僓傑偨偼儘僌僀儞僌儖乕僾偑愝掕偝傟偰偄側偄応崌偼僙僢僔儑儞僞僀儉傾僂僩
        if (loginUserID == null || loginUserID.trim().equals("") || loginGroupID == null || loginGroupID.trim().equals("")) {
            result = true;
        } else {
            result = false;
        }

        return result;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -