一共有三个用户,管理员 教师 学生,按顺序登录退出没有任何问题,但是登录管理员并退出之后,登录教师再退出,这个时候如果还想登录管理员就不行,结果还是教师页面。然后按顺序登录退出管理员、教师、学生,再想登录教师或管理员都不行,全是学生界面,学生可以切换登录。。。不知道怎么搞得,
简化下问题就是:
登录退出再登录顺序:
管理员->教师->学生 OK
管理员->教师->管理员 NO
教师->学生->教师 NO
。。。。。。。。。。。。。。。。。。。。。。。
涉及的所有后端代码如下
/**
* 用户登陆
* @return
*/
public void index() throws IOException {
User user1 = userService.getUser(user);
if (user1 != null){
if (user1.getIsSh() == 1){
if (user1.getRole().getEnName().equals("admin")){
ActionContext.getContext().getSession().put("user", user1);
}
if (user1.getRole().getEnName().equals("teacher")){
ActionContext.getContext().getSession().put("user1", user1);
}
if (user1.getRole().getEnName().equals("student")){
ActionContext.getContext().getSession().put("user2", user1);
}
map.put("flag", 1);
map.put("url", "login_indexs.do");
map.put("id", user1.getId());
JsonUtils.toJson(map);
} else {
map.put("flag", 2);
JsonUtils.toJson(map);
}
} else {
map.put("flag", 3);
JsonUtils.toJson(map);
}
}
//登陆页面
public String login() {
return SUCCESS;
}
//退出
public String logout() {
ActionContext ac = ActionContext.getContext();
Map session = ac.getSession();
session.remove("userName");
session.remove("userId");
return "login";
}