@RequestMapping("login")
public String login(HttpServletRequest request,Model model){
String msg = "";
Subject subject = SecurityUtils.getSubject();
String userName = request.getParameter("username");
String password = request.getParameter("password");
UsernamePasswordToken token = new UsernamePasswordToken(userName, password);
token.setRememberMe(true);
try {
subject.login(token);
Session session = subject.getSession();
System.out.println("session的Id"+session.getId());
System.out.println("session主机地址"+session.getHost());
System.out.println("session有效期间"+session.getId());
return "redirect:list.action";
} catch (IncorrectCredentialsException e) {
msg = "密码错误" + token.getPrincipal() + " was incorrect.";
model.addAttribute("message", msg);
System.out.println(msg);
} catch (ExcessiveAttemptsException e) {
msg = "登录失败次数过多";
model.addAttribute("message", msg);
System.out.println(msg);
} catch (LockedAccountException e) {
msg = "帐号已被锁定The account for username " + token.getPrincipal() + " was locked.";
model.addAttribute("message", msg);
System.out.println(msg);
} catch (DisabledAccountException e) {
msg = "帐号已被禁用The account for username " + token.getPrincipal() + " was disabled.";
model.addAttribute("message", msg);
System.out.println(msg);
} catch (ExpiredCredentialsException e) {
msg = "帐号已被禁用the account for username " + token.getPrincipal() + " was expired.";
model.addAttribute("message", msg);
System.out.println(msg);
} catch (UnknownAccountException e) {
msg = "账户不存在!There is no user with username of " + token.getPrincipal();
model.addAttribute("message", msg);
System.out.println(msg);
} catch (UnauthorizedException e) {
msg = "ddd" + e.getMessage();
model.addAttribute("message", msg);
System.out.println(msg);
}
return "login";
}
@RequestMapping("logout")
public String logout() {
Subject currentUser = SecurityUtils.getSubject();
try {
currentUser.logout();
} catch (AuthenticationException e) {
e.printStackTrace();
}
return "login";
}