a. applicationContext-security.xml
<form-login login-page="/login" default-target-url="/frames"
login-processing-url="/securitycheck" always-use-default-target="true" />
<session-management invalid-session-url="/logintimeout" />
b. index.ftl -- freemarker template
c. LoginController.java
@RequestMapping("/login")
public String index(Model model, HttpServletRequest request, HttpServletResponse response) {
AuthenticationException ae = (AuthenticationException) request.getSession().getAttribute(AUTHENTICATION_EXCEPTION);
model.addAttribute("errors", false);
if (ae != null) {
model.addAttribute("errors", true);
}
return "/index";
}
@RequestMapping("/frames")
public String frames(Model model, HttpServletRequest request) {
logger.trace("redirect to page frames.");
String userName = SpringSecurityContext.getUsername();
model.addAttribute("name", userName);
SecUser user = userManager.getUserByName(userName);
if (user != null) {
WebUtils.setSessionAttribute(request, GlobalConstant.SESSION_USER, user);
}
return "/frames";
}