对于spring boot与Vue的系统使用session。假设session取不到问题
需要在Vue中的main.js添加
axios.defaults.withCredentials = true //携带cookie
设置session
@RequestMapping("/login")
public ResponseZZ login(String username, String password, HttpServletRequest request) {
System.out.println(username);
System.out.println(password);
// 获取当前用户
Subject subject = SecurityUtils.getSubject();
// 封装用户的登录数据
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try {
//将账号登录信息存放到session
HttpSession session = request.getSession();
session.setAttribute("username",username);
System.out.println("session为:"+session);
String username1=(String)session.getAttribute("username");
System.out.println("得到的"+username1);
//执行登录方法,如果没有异常就说明ok了
subject.login(token);
//通过账号查学员的名字与头像地址
TrainingUser trainingUserByAccoun = trainingUserServer.getTrainingUserByAccoun(Long.parseLong(username));
String name=trainingUserByAccoun.getUserName();
String headUrl=trainingUserByAccoun.getUserAddress();
Map<String,Object> list=new HashMap<>();
list.put("name",name);
list.put("headUrl",headUrl);
System.out.println(list);
return ResponseZZ.response(ResponseEnum.SUCCESS, list);
} catch (UnknownAccountException e) {
// return ResponseZZ.error("用户名错误");
return ResponseZZ.response(ResponseEnum.FAIL, "用户名错误");
} catch (IncorrectCredentialsException e) {
return ResponseZZ.error("密码错误");
}
}
取得session