Author: mir
Date: Mon Feb 8 14:29:26 2010
New Revision: 907669
URL: http://svn.apache.org/viewvc?rev=907669&view=rev
Log:
CLEREZZA-92: there is now an option on the login page to enable the client to
stay logged in even after restarting browser
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogin.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/resources/org/apache/clerezza/platform/security/auth/cookie/login_naked.xhtml
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java?rev=907669&r1=907668&r2=907669&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java
Mon Feb 8 14:29:26 2010
@@ -123,7 +123,6 @@
@Override
public boolean writeLoginResponse(Request request,Response response,
Throwable cause) throws HandlerException{
- System.out.println(request.getMethod());
if (!request.getMethod().equals(Method.GET)) {
return false;
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogin.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogin.java?rev=907669&r1=907668&r2=907669&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogin.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieLogin.java
Mon Feb 8 14:29:26 2010
@@ -27,6 +27,7 @@
import java.security.PrivilegedAction;
import java.util.Iterator;
import javax.security.auth.Subject;
+import javax.ws.rs.DefaultValue;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
@@ -36,6 +37,7 @@
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.NewCookie;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
@@ -68,7 +70,6 @@
import org.wymiwyg.commons.util.Base64;
import org.wymiwyg.commons.util.dirbrowser.PathNode;
import org.wymiwyg.wrhapi.HandlerException;
-import org.wymiwyg.wrhapi.util.Cookie;
/**
*
@@ -168,6 +169,7 @@
public Object login(@FormParam("user") final String userName,
@FormParam("pass") final String password,
@FormParam("referer") final String referer,
+ @DefaultValue("false") @FormParam("stayloggedin") final
Boolean stayLoggedIn,
@Context final UriInfo uriInfo) {
return AccessController.doPrivileged(new
PrivilegedAction<Object>() {
@Override
@@ -183,7 +185,7 @@
RedirectUtil.createSeeOtherResponse(
referer, uriInfo));
responseBuilder.header(HttpHeaders.SET_COOKIE,
-
getLoginCookie(userName, password));
+
getLoginCookie(userName, password, stayLoggedIn));
return responseBuilder.build();
} else {
result.addProperty(LOGIN.message, failedMessage);
@@ -208,10 +210,15 @@
* @param password
* @return
*/
- public static Cookie getLoginCookie(String userName, String password) {
+ public static NewCookie getLoginCookie(String userName, String password,
+ Boolean stayLoggedIn) {
String cookieString = userName + ":" + password;
- Cookie cookie = new Cookie(AUTH_COOKIE_NAME, Base64.encode(
- cookieString.getBytes()));
+ int maxAge = -1;
+ if (stayLoggedIn) {
+ maxAge = Integer.MAX_VALUE;
+ }
+ NewCookie cookie = new NewCookie(AUTH_COOKIE_NAME,
Base64.encode(
+ cookieString.getBytes()), null, null, null,
maxAge, false);
return cookie;
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/resources/org/apache/clerezza/platform/security/auth/cookie/login_naked.xhtml
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/resources/org/apache/clerezza/platform/security/auth/cookie/login_naked.xhtml?rev=907669&r1=907668&r2=907669&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/resources/org/apache/clerezza/platform/security/auth/cookie/login_naked.xhtml
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/resources/org/apache/clerezza/platform/security/auth/cookie/login_naked.xhtml
Mon Feb 8 14:29:26 2010
@@ -12,6 +12,7 @@
<li><label>Password</label>
<input size="30" type="password" name="pass"
value="" /></li>
<li>
+ <input type="checkbox" value="true"
name="stayloggedin" /><label class="tx-checkbox">Stay logged in</label>
<input type="submit" value="Log in"
id="submitButton"></input>
</li>
</ol>