?? ssofilterutil.java
字號:
package com.neusoft.sso;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**************************************************
* NAME : SsoFilterUtil.java
* HISTORY
* 2007-08-15 shanc 創建文件
* 注意:該類是Sso組件的對外接口
*************************************************/
public class SsoFilterUtil {
/**
* 該方法用于檢查該用戶是否在其他應用中登錄過。
* 該方法返回boolean型數據,true表示該用戶已在其他應用中登錄
* false表示該用戶沒在其他應用登錄
* 注意:該方法只檢查其他應用,不檢查用戶是否在本平臺登錄
* 建議:建議在安全檢查中,當應該認為當前用戶沒登錄時,調用該方法檢查該用戶是否在其他平臺登錄過
* @param request
* @return
*/
public static boolean isLogin(HttpServletRequest request){
if(!Global.getSSOFlag()){
return false;
}
HttpSession session = request.getSession();
//判斷是否傳遞paraname參數,
//注意:paraname參數,是應用間跳轉的私鑰,
//如果請求中不帶paraname參數,不保證單點登錄參數的有效性
String paraName = request.getParameter(Global.getParaName());
if(paraName == null || "".equals(paraName)){
session.invalidate();
return false;
}
//判斷是否已在別的平臺登錄
if(!ContextManager.hasUser(session.getServletContext(),paraName)){//未在任何平臺登錄
session.invalidate();
return false;
}
//如果已在別的應用中登錄,就將該用戶加入該應用context維護的用戶表中
SsoLoginUtil.createSso(request, paraName);
return true;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -