Skip to content
Snippets Groups Projects
Commit 168534b7 authored by felmer's avatar felmer
Browse files

LMS-1365 setSessionUser() with tests implemented. Missing: white list of hosts

SVN: 15061
parent 64ec757f
No related branches found
No related tags found
No related merge requests found
...@@ -81,7 +81,7 @@ public class BasicSession implements Serializable ...@@ -81,7 +81,7 @@ public class BasicSession implements Serializable
/** /**
* Returns the owner of the session. * Returns the owner of the session.
*/ */
public final String getUserName() public String getUserName()
{ {
return userName; return userName;
} }
......
...@@ -244,6 +244,32 @@ public class DefaultSessionManager<T extends BasicSession> implements ISessionMa ...@@ -244,6 +244,32 @@ public class DefaultSessionManager<T extends BasicSession> implements ISessionMa
} }
} }
public boolean isAWellFormedSessionToken(String sessionTokenOrNull)
{
if (sessionTokenOrNull == null)
{
return false;
}
final String[] splittedToken = StringUtils.split(sessionTokenOrNull, SESSION_TOKEN_SEPARATOR);
if (splittedToken.length < 2)
{
return false;
}
String[] splittedTimeStampToken = StringUtils.split(splittedToken[1], TIMESTAMP_TOKEN_SEPARATOR);
if (splittedTimeStampToken.length < 2)
{
return false;
}
try
{
Long.parseLong(splittedTimeStampToken[0]);
} catch (NumberFormatException ex)
{
return false;
}
return splittedTimeStampToken[1].length() == 32;
}
public T getSession(final String sessionToken) throws InvalidSessionException public T getSession(final String sessionToken) throws InvalidSessionException
{ {
checkIfNotBlank(sessionToken, "sessionToken"); checkIfNotBlank(sessionToken, "sessionToken");
......
...@@ -43,6 +43,11 @@ public interface ISessionManager<T extends BasicSession> extends IRemoteHostProv ...@@ -43,6 +43,11 @@ public interface ISessionManager<T extends BasicSession> extends IRemoteHostProv
* Closes session by removing given <code>sessionToken</code> from active sessions. * Closes session by removing given <code>sessionToken</code> from active sessions.
*/ */
public void closeSession(final String sessionToken) throws InvalidSessionException; public void closeSession(final String sessionToken) throws InvalidSessionException;
/**
* Returns <code>true</code> if the specified string is a well-formed session token.
*/
public boolean isAWellFormedSessionToken(String sessionTokenOrNull);
/** /**
* For given <var>sessionToken</var> return the <code>Session</code> object. * For given <var>sessionToken</var> return the <code>Session</code> object.
...@@ -52,4 +57,5 @@ public interface ISessionManager<T extends BasicSession> extends IRemoteHostProv ...@@ -52,4 +57,5 @@ public interface ISessionManager<T extends BasicSession> extends IRemoteHostProv
*/ */
public T getSession(final String sessionToken) throws InvalidSessionException; public T getSession(final String sessionToken) throws InvalidSessionException;
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment