jQuery Ajax Timeouts with Spring Security

Here’s how we handled Ajax timeouts with Spring Security.

In your login controller, set response status to 401.

	@RequestMapping(value = "login", method = RequestMethod.GET)
	public void login(HttpServletResponse response) {


In your Ajax error callback, check for the 401 code and redirect to a page that is not the login page. If we redirect to the login page, Spring Security might go to Ajax request right after login. You can redirect to a secure page to effectively get the login page.

	$.post(url, $('#id'))
	.success(function(result) {
	.error(function(xhr) {
		if (xhr.status == 401) {
			window.location = 'home';
		} else {