[Statelessfilter-commits] SF.net SVN: statelessfilter:[100] trunk/stateless-cookie-plain/src/main/
Status: Beta
Brought to you by:
nricheton
Revision: 100
http://statelessfilter.svn.sourceforge.net/statelessfilter/?rev=100&view=rev
Author: nricheton
Date: 2011-12-23 16:49:21 +0000 (Fri, 23 Dec 2011)
Log Message:
-----------
Signature support for plain cookies
Modified Paths:
--------------
trunk/stateless-cookie-plain/src/main/java/net/sourceforge/statelessfilter/backend/plaincookie/PlainCookieBackend.java
Modified: trunk/stateless-cookie-plain/src/main/java/net/sourceforge/statelessfilter/backend/plaincookie/PlainCookieBackend.java
===================================================================
--- trunk/stateless-cookie-plain/src/main/java/net/sourceforge/statelessfilter/backend/plaincookie/PlainCookieBackend.java 2011-12-23 16:28:26 UTC (rev 99)
+++ trunk/stateless-cookie-plain/src/main/java/net/sourceforge/statelessfilter/backend/plaincookie/PlainCookieBackend.java 2011-12-23 16:49:21 UTC (rev 100)
@@ -58,7 +58,9 @@
private static final String DESERIALIZE_ERROR = "Cannot deserialize session. A new one will be created"; //$NON-NLS-1$
private static final String ID = "plaincookie"; //$NON-NLS-1$
private static final String PARAM_COMPRESS = "compress"; //$NON-NLS-1$
+ private static final String PARAM_KEY = "key"; //$NON-NLS-1$
private boolean compress = true;
+ private String key = null;
Logger logger = LoggerFactory.getLogger(PlainCookieBackend.class);
public PlainCookieBackend() {
@@ -92,10 +94,19 @@
if (!StringUtils.isEmpty(compress)) {
this.compress = Boolean.parseBoolean(compress);
}
+
+ String key = config.get(PARAM_KEY);
+ if (!StringUtils.isEmpty(key)) {
+ this.key = key;
+ }
if (logger.isInfoEnabled()) {
logger.info("Cookie name: '" + cookieName + "', compression: '" //$NON-NLS-1$//$NON-NLS-2$
- + this.compress + "'"); //$NON-NLS-1$
+ + this.compress + "'" ); //$NON-NLS-1$
+
+ if( key != null ){
+ logger.info( "Cookie signature : " + (key != null) );
+ }
}
}
@@ -106,7 +117,7 @@
public ISessionData restore(HttpServletRequest request) {
try {
- byte[] data = getCookieData(request, null);
+ byte[] data = getCookieData(request, null, key !=null, key);
if (data != null) {
InputStream inputStream = new ByteArrayInputStream(data);
@@ -155,13 +166,13 @@
outputStream.close();
baos.close();
- setCookieData(request, response, baos.toByteArray());
+ setCookieData(request, response, baos.toByteArray(), key !=null, key);
if (logger.isInfoEnabled()) {
logger.info("Cookie size : " + baos.toByteArray().length); //$NON-NLS-1$
}
} else {
- setCookieData(request, response, null);
+ setCookieData(request, response, null,key !=null, key);
}
} catch (SignatureException e) {
throw new IOException(e);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|