Author: reto
Date: Fri Mar  5 16:55:10 2010
New Revision: 919492

URL: http://svn.apache.org/viewvc?rev=919492&view=rev
Log:
CLEREZZA-149: redirecting to referer (if available) after logout

Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogout.java

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogout.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogout.java?rev=919492&r1=919491&r2=919492&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogout.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogout.java
 Fri Mar  5 16:55:10 2010
@@ -18,7 +18,10 @@
  */
 package org.apache.clerezza.platform.security.auth.cookie;
 
+import java.net.URI;
+import java.net.URL;
 import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
 import javax.ws.rs.Path;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.HttpHeaders;
@@ -71,10 +74,16 @@
        }
 
        @GET
-       public Response logout(@Context UriInfo uriInfo) {
-               TrailingSlash.enforcePresent(uriInfo);          
-               ResponseBuilder responseBuilder = Response.fromResponse(
-                               
RedirectUtil.createSeeOtherResponse("../logout/success", uriInfo));
+       public Response logout(@Context UriInfo uriInfo,
+                       @HeaderParam("Referer") URI referer) {
+               TrailingSlash.enforceNotPresent(uriInfo);
+               ResponseBuilder responseBuilder;
+               if (referer != null) {
+                       responseBuilder = Response.seeOther(referer);
+               } else {
+                       responseBuilder = Response.fromResponse(
+                               
RedirectUtil.createSeeOtherResponse("logout/success", uriInfo));
+               }
                responseBuilder.header(HttpHeaders.SET_COOKIE, 
getLogoutCookie());
                return responseBuilder.build();
        }


Reply via email to