X-Git-Url: https://juplo.de/gitweb/?p=examples%2Ffacebook-app;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fyourshouter%2FUserCookieInterceptor.java;h=1b00e09da447d4d094ba274b77b0b0b81e3e80dc;hp=6a6cba62fecb33b8cd85d9de55d7d447a5ba1321;hb=refs%2Ftags%2Fpart-06;hpb=02f599692669d48f9865764fda994ad61d203ffb diff --git a/src/main/java/de/juplo/yourshouter/UserCookieInterceptor.java b/src/main/java/de/juplo/yourshouter/UserCookieInterceptor.java index 6a6cba6..1b00e09 100644 --- a/src/main/java/de/juplo/yourshouter/UserCookieInterceptor.java +++ b/src/main/java/de/juplo/yourshouter/UserCookieInterceptor.java @@ -1,7 +1,9 @@ package de.juplo.yourshouter; +import java.io.IOException; import java.util.Collections; +import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; @@ -20,6 +22,7 @@ public final class UserCookieInterceptor extends HandlerInterceptorAdapter { private final static Logger LOG = LoggerFactory.getLogger(UserCookieInterceptor.class); + private final static Pattern PATTERN = Pattern.compile("^/signin|canvas"); private final UsersConnectionRepository repository; @@ -52,6 +55,9 @@ public final class UserCookieInterceptor extends HandlerInterceptorAdapter * @return * Always true, to indicate, that the intercepted request * should be handled normally. + * @throws java.io.IOException + * if something wents wrong, while sending the redirect to the + * sign-in-page. */ @Override public boolean preHandle( @@ -59,7 +65,12 @@ public final class UserCookieInterceptor extends HandlerInterceptorAdapter HttpServletResponse response, Object handler ) + throws + IOException { + if (PATTERN.matcher(request.getServletPath()).find()) + return true; + String user = UserCookieGenerator.INSTANCE.readCookieValue(request); if (user != null) { @@ -78,7 +89,9 @@ public final class UserCookieInterceptor extends HandlerInterceptorAdapter UserCookieGenerator.INSTANCE.removeCookie(response); } } - return true; + + response.sendRedirect("/signin.html"); + return false; } /**