|
@@ -75,8 +75,10 @@ public class ConcurrentSessionFilter extends SpringSecurityFilter implements Ini
|
|
// Expired - abort processing
|
|
// Expired - abort processing
|
|
doLogout(request, response);
|
|
doLogout(request, response);
|
|
|
|
|
|
- if (expiredUrl != null) {
|
|
|
|
- String targetUrl = request.getContextPath() + expiredUrl;
|
|
|
|
|
|
+ String targetUrl = determineExpiredUrl(request, info);
|
|
|
|
+
|
|
|
|
+ if (targetUrl != null) {
|
|
|
|
+ targetUrl = request.getContextPath() + targetUrl;
|
|
response.sendRedirect(response.encodeRedirectURL(targetUrl));
|
|
response.sendRedirect(response.encodeRedirectURL(targetUrl));
|
|
} else {
|
|
} else {
|
|
response.getWriter().print("This session has been expired (possibly due to multiple concurrent " +
|
|
response.getWriter().print("This session has been expired (possibly due to multiple concurrent " +
|
|
@@ -95,6 +97,10 @@ public class ConcurrentSessionFilter extends SpringSecurityFilter implements Ini
|
|
chain.doFilter(request, response);
|
|
chain.doFilter(request, response);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ protected String determineExpiredUrl(HttpServletRequest request, SessionInformation info) {
|
|
|
|
+ return expiredUrl;
|
|
|
|
+ }
|
|
|
|
+
|
|
private void doLogout(HttpServletRequest request, HttpServletResponse response) {
|
|
private void doLogout(HttpServletRequest request, HttpServletResponse response) {
|
|
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
|
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
|
|
|
|