public void addAuthenticatedUser(Request request, User u) { request.session().attribute(USER_SESSION_ID, u); }
protected WebTextTerminal get(SessionHolder sessionHolder) { String sessionId = sessionHolder.sessionId; Session session = sessionHolder.session; WebTextTerminal terminal = session.attribute(getSessionIdAttribute(sessionId)); if(terminal == null) { throw new DataApiProviderException("Unknown session: " + sessionId); } logger.trace("Terminal found for sessionId: {} on session with attributes {}", sessionId, session.attributes()); return terminal; }
public User getAuthenticatedUser(Request request) { User theUser = request.session().attribute(USER_SESSION_ID); if(theUser == null) { String authHeader = request.headers("Authorization");
public static String getSessionLocale(Request request) { return request.session().attribute("locale"); }
private User getAuthenticatedUser(Request request) { return request.session().attribute(USER_SESSION_ID); } }
private void addAuthenticatedUser(Request request, User u) { request.session().attribute(USER_SESSION_ID, u); }
public static String getSessionLocale(Request request) { return request.session().attribute("locale"); }
public static String getSessionCurrentUser(Request request) { return request.session().attribute("currentUser"); }
public static String getSessionCurrentUser(Request request) { return request.session().attribute("currentUser"); }
public static String removeSessionAttrLoginRedirect(Request request) { String loginRedirect = request.session().attribute("loginRedirect"); request.session().removeAttribute("loginRedirect"); return loginRedirect; }
public static boolean removeSessionAttrLoggedOut(Request request) { Object loggedOut = request.session().attribute("loggedOut"); request.session().removeAttribute("loggedOut"); return loggedOut != null; }
public static String removeSessionAttrLoginRedirect(Request request) { String loginRedirect = request.session().attribute("loginRedirect"); request.session().removeAttribute("loginRedirect"); return loginRedirect; }
public static boolean removeSessionAttrLoggedOut(Request request) { Object loggedOut = request.session().attribute("loggedOut"); request.session().removeAttribute("loggedOut"); return loggedOut != null; }
/** * Adds a module on a specific page * * @param req A Spark Request * @param res A Spark response * @return the compiled template for every plugin available. */ private ModelAndView addModuleOnPage(Request req, Response res) { logger.info("/add-module"); try { int pageId = Integer.parseInt(req.params("page")); Page p = DB.PAGE_DAO.queryForId(pageId); if (p != null) { req.session().attribute(SESSION_NEW_MODULE_PAGE, p.getId()); Map<String, Object> map = new HashMap<>(); map.put("plugins", PluginController.INSTANCE.listAvailablePlugins()); return new ModelAndView(map, "add-module"); } else { res.status(HttpStatus.INTERNAL_SERVER_ERROR_500); return null; } } catch (Exception e) { e.printStackTrace(); return null; } }
protected WebTextTerminal create(SessionHolder sessionHolder, String initData) { String sessionId = sessionHolder.sessionId; Session session = sessionHolder.session; logger.debug("Creating terminal for sessionId: {}", sessionId); WebTextTerminal terminal = termTemplate.createCopy(); terminal.setOnDispose(() -> { if(onDispose != null) { onDispose.accept(sessionId); } Executors.newSingleThreadScheduledExecutor().schedule(() -> session.removeAttribute(getSessionIdAttribute(sessionId)), 5, TimeUnit.SECONDS); }); terminal.setOnAbort(() -> { if(onAbort != null) { onAbort.accept(sessionId); } Executors.newSingleThreadScheduledExecutor().schedule(() -> session.removeAttribute(getSessionIdAttribute(sessionId)), 5, TimeUnit.SECONDS); }); session.attribute(getSessionIdAttribute(sessionId), terminal); if(maxInactiveSeconds != null) { session.maxInactiveInterval(maxInactiveSeconds); } TextIO textIO = new TextIO(terminal); RunnerData runnerData = createRunnerData(initData, sessionHolder); Thread thread = new Thread(() -> textIoRunner.accept(textIO, runnerData)); thread.setDaemon(true); thread.start(); return terminal; }
/** * Processes a login request. * * @param req a Spark {@link Request} * @param res a Spark {@link Response} * @return null, will redirect to main page if the login is successful, if not will, return the login compiled template with errors * @throws NoSuchAlgorithmException */ private ModelAndView login(Request req, Response res) throws NoSuchAlgorithmException { String username = req.queryParams("username"); String password = req.queryParams("password"); String hash = hashPassword(username, password); try { if (checkPassword(hash)) { logger.info("Logging in successful, redirecting to main"); Session session = req.session(true); session.attribute(AUTH_KEY, hash); res.cookie(AUTH_KEY, hash, 31557600);//one year res.redirect("/"); return null; } } catch (Exception e) { logger.error("Logging in failed due to some error", e); } Map<String, String> error = new HashMap<String, String>(); error.put("error", "Wrong username/password"); return new ModelAndView(error, "login"); }
/** * Checks user cookies and seee if he is allowed to login * * @return ok, if he is allowed to see what he's trying to see */ public boolean checkSession(Request req, Response res) { try { Settings useAuth = get(Settings.USE_AUTH); if (useAuth != null && useAuth.getValue().equalsIgnoreCase("1")) { logger.info("Auth requested, checking if everything is alright;"); //checking cookie first if (req.cookies().containsKey(AUTH_KEY)) { return checkPassword(req.cookie(AUTH_KEY)); } else if (req.session().attribute(AUTH_KEY) != null) { return checkPassword(req.session().attribute(AUTH_KEY)); } else { res.removeCookie(AUTH_KEY); req.session().removeAttribute(AUTH_KEY); return false; } } return true; } catch (Exception e) { return false; } }
/** * Adds a remote module. * * @param req a Spark Request {@link Request} * @param res a Spark Response {@link Response} * @return * @throws SQLException */ private boolean addRemoteModule(Request req, Response res) throws SQLException { String id = req.queryParams("id"); String name = req.queryParams("name"); String url = req.queryParams("url"); String key = req.queryParams("key"); String pluginClass = req.queryParams("pluginClass"); Page page; //find page int pageId = 1; if (req.session().attribute(ModuleController.SESSION_NEW_MODULE_PAGE) != null) { pageId = req.session().attribute(ModuleController.SESSION_NEW_MODULE_PAGE); } page = PageController.INSTANCE.get(pageId); return addRemoteModule(id, name, url, key, pluginClass, page); }