summaryrefslogtreecommitdiff
path: root/src/com/p4square/grow/frontend/session
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2013-09-05 21:18:04 -0700
committerJesse Morgan <jesse@jesterpm.net>2013-09-05 21:18:04 -0700
commit36970455d1fbb03a751cddbdbaa5bed334e58169 (patch)
treeeee66ec85184a23c92c94a29edc6991eb94c6543 /src/com/p4square/grow/frontend/session
parent283c4928081f82e3f6ef7a0f80aecf0bacb89dbe (diff)
Moving Sessions to FMFacade. Adding transition from Assessment to Training.
Diffstat (limited to 'src/com/p4square/grow/frontend/session')
-rw-r--r--src/com/p4square/grow/frontend/session/Session.java55
-rw-r--r--src/com/p4square/grow/frontend/session/SessionAuthenticator.java36
-rw-r--r--src/com/p4square/grow/frontend/session/SessionCheckingAuthenticator.java39
-rw-r--r--src/com/p4square/grow/frontend/session/SessionCookieAuthenticator.java59
-rw-r--r--src/com/p4square/grow/frontend/session/SessionCreatingAuthenticator.java46
-rw-r--r--src/com/p4square/grow/frontend/session/Sessions.java84
6 files changed, 0 insertions, 319 deletions
diff --git a/src/com/p4square/grow/frontend/session/Session.java b/src/com/p4square/grow/frontend/session/Session.java
deleted file mode 100644
index 3377962..0000000
--- a/src/com/p4square/grow/frontend/session/Session.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend.session;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import org.restlet.security.User;
-
-/**
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class Session {
- private static final long LIFETIME = 86400000;
-
- private final String mSessionId;
- private final User mUser;
- private final Map<String, String> mData;
- private long mExpires;
-
- Session(User user) {
- mUser = user;
- mSessionId = UUID.randomUUID().toString();
- mExpires = System.currentTimeMillis() + LIFETIME;
- mData = new HashMap<String, String>();
- }
-
- void touch() {
- mExpires = System.currentTimeMillis() + LIFETIME;
- }
-
- boolean isExpired() {
- return System.currentTimeMillis() > mExpires;
- }
-
- public String getId() {
- return mSessionId;
- }
-
- public String get(String key) {
- return mData.get(key);
- }
-
- public void put(String key, String value) {
- mData.put(key, value);
- }
-
- public User getUser() {
- return mUser;
- }
-}
diff --git a/src/com/p4square/grow/frontend/session/SessionAuthenticator.java b/src/com/p4square/grow/frontend/session/SessionAuthenticator.java
deleted file mode 100644
index ac194af..0000000
--- a/src/com/p4square/grow/frontend/session/SessionAuthenticator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend.session;
-
-import org.restlet.Context;
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.security.Authenticator;
-import org.restlet.security.User;
-
-/**
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SessionAuthenticator /*extends Authenticator*/ {
- /*
- @Override
- protected boolean authenticate(Request request, Response response) {
- // Check for authentication cookie
- final String cookie = request.getCookies().getFirstValue(COOKIE_NAME);
- if (cookie != null) {
- cLog.debug("Got cookie: " + cookie);
- // TODO Decrypt user info
- User user = new User(cookie);
- request.getClientInfo().setUser(user);
- return true;
- }
-
- // Challenge the user if not authenticated
- response.redirectSeeOther(mLoginPage);
- return false;
- }
- */
-}
diff --git a/src/com/p4square/grow/frontend/session/SessionCheckingAuthenticator.java b/src/com/p4square/grow/frontend/session/SessionCheckingAuthenticator.java
deleted file mode 100644
index 745484d..0000000
--- a/src/com/p4square/grow/frontend/session/SessionCheckingAuthenticator.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend.session;
-
-import org.apache.log4j.Logger;
-
-import org.restlet.Context;
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.security.Authenticator;
-
-/**
- * Authenticator which succeeds if a valid Session exists.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SessionCheckingAuthenticator extends Authenticator {
- private static final Logger LOG = Logger.getLogger(SessionCheckingAuthenticator.class);
-
- public SessionCheckingAuthenticator(Context context, boolean optional) {
- super(context, optional);
- }
-
- protected boolean authenticate(Request request, Response response) {
- Session s = Sessions.getInstance().get(request);
-
- if (s != null) {
- LOG.debug("Found session for user " + s.getUser());
- request.getClientInfo().setUser(s.getUser());
- return true;
-
- } else {
- return false;
- }
- }
-
-}
diff --git a/src/com/p4square/grow/frontend/session/SessionCookieAuthenticator.java b/src/com/p4square/grow/frontend/session/SessionCookieAuthenticator.java
deleted file mode 100644
index 789f58e..0000000
--- a/src/com/p4square/grow/frontend/session/SessionCookieAuthenticator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend.session;
-
-import org.apache.log4j.Logger;
-
-import org.restlet.Context;
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.security.Authenticator;
-
-/**
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SessionCookieAuthenticator extends Authenticator {
- private static final Logger LOG = Logger.getLogger(SessionCookieAuthenticator.class);
-
- private static final String COOKIE_NAME = "S";
-
- private final Sessions mSessions;
-
- public SessionCookieAuthenticator(Context context, boolean optional, Sessions sessions) {
- super(context, optional);
-
- mSessions = sessions;
- }
-
- protected boolean authenticate(Request request, Response response) {
- final String cookie = request.getCookies().getFirstValue(COOKIE_NAME);
-
- if (request.getClientInfo().isAuthenticated()) {
- // Request is already authenticated... create session if it doesn't exist.
- if (cookie == null) {
- Session s = mSessions.create(request.getClientInfo().getUser());
- response.getCookieSettings().add(COOKIE_NAME, s.getId());
- }
-
- return true;
-
- } else {
- // Check for authentication cookie
- if (cookie != null) {
- LOG.debug("Got cookie: " + cookie);
-
- Session s = mSessions.get(cookie);
- if (s != null) {
- request.getClientInfo().setUser(s.getUser());
- return true;
- }
- }
-
- return false;
- }
- }
-
-}
diff --git a/src/com/p4square/grow/frontend/session/SessionCreatingAuthenticator.java b/src/com/p4square/grow/frontend/session/SessionCreatingAuthenticator.java
deleted file mode 100644
index c569bb9..0000000
--- a/src/com/p4square/grow/frontend/session/SessionCreatingAuthenticator.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend.session;
-
-import org.apache.log4j.Logger;
-
-import org.restlet.Context;
-import org.restlet.Request;
-import org.restlet.Response;
-import org.restlet.security.Authenticator;
-import org.restlet.security.User;
-
-/**
- * Authenticator which creates a Session for the request and adds a cookie
- * to the response.
- *
- * The Request MUST be Authenticated and MUST have a User object associated.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class SessionCreatingAuthenticator extends Authenticator {
- private static final Logger LOG = Logger.getLogger(SessionCreatingAuthenticator.class);
-
- public SessionCreatingAuthenticator(Context context) {
- super(context, true);
- }
-
- protected boolean authenticate(Request request, Response response) {
- if (Sessions.getInstance().get(request) != null) {
- return true;
- }
-
- User user = request.getClientInfo().getUser();
-
- if (request.getClientInfo().isAuthenticated() && user != null) {
- Sessions.getInstance().create(request, response);
- LOG.debug(response);
- return true;
- }
-
- return false;
- }
-
-}
diff --git a/src/com/p4square/grow/frontend/session/Sessions.java b/src/com/p4square/grow/frontend/session/Sessions.java
deleted file mode 100644
index 58bb5f6..0000000
--- a/src/com/p4square/grow/frontend/session/Sessions.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2013 Jesse Morgan
- */
-
-package com.p4square.grow.frontend.session;
-
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.Map;
-
-import org.restlet.Response;
-import org.restlet.Request;
-import org.restlet.data.CookieSetting;
-import org.restlet.security.User;
-
-/**
- * Singleton Session Manager.
- *
- * @author Jesse Morgan <jesse@jesterpm.net>
- */
-public class Sessions {
- private static final String COOKIE_NAME = "S";
-
- private static final Sessions THE = new Sessions();
- public static Sessions getInstance() {
- return THE;
- }
-
- private final Map<String, Session> mSessions;
-
- private Sessions() {
- mSessions = new ConcurrentHashMap<String, Session>();
- }
-
- public Session get(String sessionid) {
- Session s = mSessions.get(sessionid);
-
- if (s != null && !s.isExpired()) {
- s.touch();
- return s;
- }
-
- return null;
- }
-
- /**
- * Get the Session associated with the Request.
- * @return A session or null if no session is found.
- */
- public Session get(Request request) {
- final String cookie = request.getCookies().getFirstValue(COOKIE_NAME);
-
- if (cookie != null) {
- return get(cookie);
- }
-
- return null;
- }
-
- public Session create(User user) {
- if (user == null) {
- throw new IllegalArgumentException("Can not create session for null user.");
- }
-
- Session s = new Session(user);
- mSessions.put(s.getId(), s);
-
- return s;
- }
-
- /**
- * Create a new Session and add the Session cookie to the response.
- */
- public Session create(Request request, Response response) {
- Session s = create(request.getClientInfo().getUser());
-
- CookieSetting cookie = new CookieSetting(COOKIE_NAME, s.getId());
- cookie.setPath("/");
-
- request.getCookies().add(cookie);
- response.getCookieSettings().add(cookie);
-
- return s;
- }
-}