登陆中session的处理

时间:2023-03-08 22:03:25

在学校中的登陆注册使用的普通session存储信息,然后就是根据session中获取user是否拥有来判断是否登陆。

在一次面试中别人问到了我你们项目的登陆session是怎么一个情况,我这样答的话那太过简单。

于是别人我问我如果有多个账号登陆在同一个浏览器中怎么办呢?还需要验证吗?我就蒙了。

这是我们公司现在的登陆的一小段代码,我想已经可以说明登陆的实现了。

 //登录成功之后清除session,成功之后创建新的session,将域名等信息放入新session
session.invalidate();
logger.info("用户:" + tellerId + " 机构号:" + Constant.REF_ORG_ID + " 登录成功");
HttpSession newSession = request.getSession(true);
newSession.setAttribute(Constant.USRID, tellerId);
newSession.setAttribute(Constant.MEMBERID, teller.getMemberId());
newSession.setAttribute(Constant.MEMBERTYPE, mpmemb.getMemberType());
newSession.setAttribute(Constant.SESSION_ORGID_KEY, Constant.REF_ORG_ID);
return new ModelAndView(new RedirectView(request.getContextPath()+"/main"));

首先一个过滤器拦截浏览器的url判断是否登陆,使用一个session。

然后登陆成功后将原来的session销毁,根据你的登陆的用户信息生成一个session,这个保存的是登陆的账户。

如果再次登陆的话登陆与否的session是没有值的,所以需要再次登陆。

相关文章