当前位置: 技术问答>java相关
利用SESSION控制相同用户同时登陆的源码,正确吗?
来源: 互联网 发布时间:2015-07-12
本文导语: //二重ログインのチェックを行う。 HttpSession loginSession = argHttpServletRequest.getSession(false); //ログイン済みページの表示 if (loginSession != null) { //ログイン済みページが指定さ...
//二重ログインのチェックを行う。
HttpSession loginSession = argHttpServletRequest.getSession(false);
//ログイン済みページの表示
if (loginSession != null) {
//ログイン済みページが指定されていればそのページを表示
if (loginSession.getValue(OmUserInformation.SESSION_KEY) != null) {
String alreadyLoginPage = getParameter(argHttpServletRequest,
PARAMETER_KEY_ALREADY_LOGIN_PAGE_NAME, suffix);
displayRedirectPage(alreadyLoginPage, argHttpServletRequest, argHttpServletResponse);
return false;
loginSession.removeAttribute( OmUserInformation.SESSION_KEY );
}
}
if (user != null) {
//セッションにユーザ情報を登録
session = argHttpServletRequest.getSession(true);
session.putValue(OmUserInformation.SESSION_KEY, user);
//Servlet API 2.2 では以下を推奨
//session.setAttribute(OmUserInformation.SESSION_KEY, user);
return true;
}
这是一个JAVA开发工具中的代码
我想问
一个用户登陆以后
再用相同身份登陆时
取得的SESSION是第一次登陆时的SESSION吗
HttpSession loginSession = argHttpServletRequest.getSession(false);
//ログイン済みページの表示
if (loginSession != null) {
//ログイン済みページが指定されていればそのページを表示
if (loginSession.getValue(OmUserInformation.SESSION_KEY) != null) {
String alreadyLoginPage = getParameter(argHttpServletRequest,
PARAMETER_KEY_ALREADY_LOGIN_PAGE_NAME, suffix);
displayRedirectPage(alreadyLoginPage, argHttpServletRequest, argHttpServletResponse);
return false;
loginSession.removeAttribute( OmUserInformation.SESSION_KEY );
}
}
if (user != null) {
//セッションにユーザ情報を登録
session = argHttpServletRequest.getSession(true);
session.putValue(OmUserInformation.SESSION_KEY, user);
//Servlet API 2.2 では以下を推奨
//session.setAttribute(OmUserInformation.SESSION_KEY, user);
return true;
}
这是一个JAVA开发工具中的代码
我想问
一个用户登陆以后
再用相同身份登陆时
取得的SESSION是第一次登陆时的SESSION吗
|
在一台计算机上一样的,不在同一台计算机上是不一样的。
|
session是服务器与客户端建立起来的会话,只要不关闭浏览器,在session的生命周期内,同一台客户机上用同一用户登录时,取得的session是以前的session。如果session已经过期或关闭了浏览器,此时将会新建一个session,sessionId是不同的。