天天看點

spring security ajax示例

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";
	}