用户登录成功之后 session中好像未保存用户的信息 下一次请求的时候获取的用户信息为空
如下代码使用Sys_user user = (Sys_user) SecurityUtils.getSubject().getPrincipal();可以获取用户信息,这是刚刚登录成功的时候
@At("/login")
@Ok("json")
public Object doLogin(HttpServletRequest request){
Subject currentUser = SecurityUtils.getSubject();
String loginname = request.getParameter("loginname");
String password = request.getParameter("password");
UsernamePasswordToken token = new UsernamePasswordToken(loginname,password);
try {
currentUser.login(token);
//=======================
}catch (IncorrectCredentialsException incorrectCredentialsException){
incorrectCredentialsException.printStackTrace();
return Result.error("用户名或密码错误");
}catch (UnknownAccountException unknownAccountException){
unknownAccountException.printStackTrace();
return Result.error("账户不存在");
}catch (LockedAccountException lockedAccountException){
lockedAccountException.printStackTrace();
return Result.error("账户已锁定");
} catch (Exception e){
e.printStackTrace();
return Result.error();
}
//登录成功
Sys_user user = (Sys_user) SecurityUtils.getSubject().getPrincipal();
return Result.success().addData(token);
}
但是如果登录成功之后再请求其他方法,使用Sys_user user = (Sys_user) SecurityUtils.getSubject().getPrincipal();则为null,请问这是什么原因?