+++ /dev/null
-package de.juplo.yourshouter;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * Simple SecurityContext that stores the currently signed-in connection in a
- * thread local.
- *
- * @author Kai Moritz
- */
-public final class SecurityContext
-{
- private final static Logger LOG = LoggerFactory.getLogger(SecurityContext.class);
- private final static ThreadLocal<String> CURRENT_USER = new ThreadLocal<>();
-
-
- /**
- * Fetches the ID of the current user from the thread-local.
- *
- * @return
- * The ID of the current user, or <code>null</code> if no user is known.
- */
- public static String getCurrentUser()
- {
- String user = CURRENT_USER.get();
- LOG.debug("current user: {}", user);
- return user;
- }
-
- /**
- * Stores the given ID as the ID of the current user in the thread-local.
- *
- * @param user
- * The ID to store as the ID of the current user.
- */
- public static void setCurrentUser(String user)
- {
- LOG.debug("setting current user: {}", user);
- CURRENT_USER.set(user);
- }
-
- /**
- * Checks, if a user is signed in. That is, if the ID of a user is stored in
- * the thread-local.
- *
- * @return
- * <code>true</code>, if a user is signed in, <code>false</code> otherwise.
- */
- public static boolean userSignedIn()
- {
- boolean signedIn = CURRENT_USER.get() != null;
- LOG.debug("user signed in: {}", signedIn);
- return signedIn;
- }
-
- /**
- * Removes the ID of the current user from the thread-local.
- */
- public static void remove()
- {
- LOG.debug("removing current user");
- CURRENT_USER.remove();
- }
-}