[java-identity-provider COMMIT] in /trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session: AuthenticationEvent...
noreply at shibboleth.net
noreply at shibboleth.net
Mon Aug 1 18:38:56 BST 2011
Author: lajoie
Date: Mon Aug 1 18:38:56 2011
New Revision: 3997
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=3997&view=rev
Log:
Working on Session management APIs
Added:
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/AuthenticationEvent.java (with props)
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/BasicSessionManager.java (contents, props changed)
- copied, changed from r3994, trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/SessionManager.java
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/IdPSession.java (contents, props changed)
- copied, changed from r3994, trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/Session.java
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/ServiceSession.java (with props)
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/SessionResolver.java (with props)
Removed:
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/Session.java
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/SessionManager.java
Copied: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/BasicSessionManager.java (from r3994, trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/SessionManager.java)
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/BasicSessionManager.java?p2=trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/BasicSessionManager.java&p1=trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/SessionManager.java&r1=3994&r2=3997&rev=3997&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/SessionManager.java (original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/session/BasicSessionManager.java Mon Aug 1 18:38:56 2011
@@ -25,9 +25,9 @@
import net.shibboleth.idp.AbstractComponent;
+import org.opensaml.messaging.context.Subcontext;
import org.opensaml.util.Assert;
import org.opensaml.util.criteria.EvaluableCriterion;
-import org.opensaml.util.resolver.Resolver;
import org.opensaml.util.resolver.ResolverException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,10 +35,10 @@
import edu.vt.middleware.crypt.util.HexConverter;
/** Component that creates, manages and locates session. */
-public class SessionManager extends AbstractComponent implements Resolver<Session, EvaluableCriterion<Session>> {
+public class BasicSessionManager extends AbstractComponent implements SessionResolver {
/** Class logger. */
- private final Logger log = LoggerFactory.getLogger(SessionManager.class);
+ private final Logger log = LoggerFactory.getLogger(BasicSessionManager.class);
/** Number of random bits within a session ID. */
private final int sessionIDSize = 32;
@@ -62,7 +62,7 @@
private final long sessionTimeout;
/** Session storage keyed by session ID. */
- private final Map<String, Session> sessionStore;
+ private final Map<String, IdPSession> sessionStore;
/**
* Constructor.
@@ -74,7 +74,7 @@
* expired. A value of 0 or less indicates that the session never times out due to inactivity.
* @param storage session store keyed by session value, never null
*/
- public SessionManager(String componentId, long lifetime, long timeout, Map<String, Session> storage) {
+ public BasicSessionManager(String componentId, long lifetime, long timeout, Map<String, IdPSession> storage) {
super(componentId);
prng = new SecureRandom();
@@ -86,40 +86,73 @@
Assert.isNotNull(storage, "Session store can not be null");
sessionStore = storage;
}
+
+ public Iterable<IdPSession> getSessions(){
+ return sessionStore.values();
+ }
/**
* Creates a new session.
*
* @return the new session
*/
- public Session newSession() {
+ public IdPSession newSession() {
// generate a random session ID
byte[] sid = new byte[sessionIDSize];
prng.nextBytes(sid);
- String sessionID = hexCodec.fromBytes(sid);
+ final String sessionId = hexCodec.fromBytes(sid);
// generate a random secret
- byte[] sessionSecret = new byte[16];
+ final byte[] sessionSecret = new byte[16];
prng.nextBytes(sessionSecret);
long now = System.currentTimeMillis();
- Session session = new Session(sessionID, sessionSecret, now + sessionLifetime, sessionTimeout);
- sessionStore.put(sessionID, session);
+ IdPSession session = new IdPSession();
+ session.setActivityInstant(now);
+ session.setExipriationInstant(now + sessionLifetime);
+ session.setId(sessionId);
+ session.setInactivityTimeout(sessionTimeout);
+ session.setSecret(sessionSecret);
+ sessionStore.put(sessionId, session);
return session;
}
[... 323 lines stripped ...]
More information about the commits
mailing list