登录时进行session 监听,登录拦截
控制层 根据账号密码设置session
本文地址 https://blog.csdn.net/qq_40791070/article/details/89234805
登录设置session
1.获取从前端传过来的账号 密码,查询该账号密码是否正确,若正确则进行下一步,不正确则直接返回数据 用户名不存在
2.若账号密码正确,则进行判断:
boolean Result = SessionListener.isOnline(session);
若Result为true ,即该session已在线,则进行销毁session ,并返回数据 账号已登录
//销毁session
request.removeAttribute("sysuser");
request.getSession().invalidate();
若Result为false ,即该session不在线,则将该查出的用户信息设置成session对象,并设置该session对象的有效期,并返回数据 登录成功
boolean istrue = SessionListener.isAlreadyEnter(session, account);
final HttpSession Session = request.getSession();
//将该查出的用户信息设置成session对象,并将该session对象的有效期设置成4个小时
Session.setAttribute("sysuser", sysuser);
Session.setMaxInactiveInterval(4 * 60 * 60);
完整代码
@RequestMapping(value = "system/CKLoginOfSys.do")
@ResponseBody
public String LoginOfSys(final HttpServletRequest request) {
String account = request.getParameter("account");
String pwd = request.getParameter("pwd1");
String data = "用户名不存在";
try {
//先进行登录判断,即账号密码是否正确
Sysuser sysuser = modelServiceimpl.LoginOfSys(account, pwd);
//账号密码不正确,即不存在这个用户,用户为空,则返回“用户名不存在”,