天天看點

bboss session手動移除使用者會話方法介紹

bboss session手動移除使用者會話方法介紹。

在一些特定的情況下隻允許使用者同時在一個地方登陸,那麼每次登入的時候會記錄使用者和對應的sessionid的關系,同時在登入之前會檢查使用者是否已經已經在别的地方登入過了(查找之前目前使用者賬号和sessionid的記錄),如果已經登入則會剔除之前的使用者。

bboss session的org.frameworkset.security.session.SessionUtil元件提供了以下兩個api來支援剔除使用者會話功能:

//appcode對應sessionconf.xml檔案中的appcode,
//如果沒有配置則對應應用的上下文request.getContextpath(),如果上下文為/則必須指定appcode為ROOT
//在明确知道appcode的情況下可以調用以下方法
public static void removeSession(String sessionId,String appcode)

//在不知道appcode的情況下可以調用以下方法,通過傳入request和對應的sessionid來剔除使用者會話,根據request對象來推算出appcode
public static void removeSession(String sessionId,HttpServletRequest request)      

通過以上方法中的任意一個,都可以剔除sessionId對應的使用者會話。使用參考代碼:

<%@page import="org.frameworkset.security.session.SessionUtil"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%@page import="test.*"%>
<%
String sessionId = request.getParameter("sessionId");
if(sessionId != null)
{
	SessionUtil.removeSession(sessionId, request);
}
 
 %>      

繼續閱讀