diff --git a/src/main/java/org/olat/core/util/UserSession.java b/src/main/java/org/olat/core/util/UserSession.java index da43de2c8ca9088a6091facc48caec243011981f..ced1f0f90433ad8234afe03f6c8310a33a5941f4 100644 --- a/src/main/java/org/olat/core/util/UserSession.java +++ b/src/main/java/org/olat/core/util/UserSession.java @@ -44,7 +44,6 @@ import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener; -import org.apache.log4j.Logger; import org.olat.core.commons.persistence.DBFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Disposable; @@ -115,7 +114,6 @@ public class UserSession implements HttpSessionBindingListener, GenericEventList //usersession is listening for SignOnOffEvents from other clusternodes CoordinatorManager.getInstance().getCoordinator().getEventBus().registerFor(this, null, ORES_USERSESSION); registeredWithBus = true; - Logger.getLogger(getClass().getName()).debug("UserSession<init> END"); } /** diff --git a/src/main/java/org/olat/dispatcher/RESTDispatcher.java b/src/main/java/org/olat/dispatcher/RESTDispatcher.java index f2dbb0ec055288c711feff2c605ee0564e05a6b0..1afa78dda67de93a86ac6fa9aac176ddbc5eb9e3 100644 --- a/src/main/java/org/olat/dispatcher/RESTDispatcher.java +++ b/src/main/java/org/olat/dispatcher/RESTDispatcher.java @@ -190,7 +190,11 @@ public class RESTDispatcher implements Dispatcher { } else if (Windows.getWindows(usess).getAttribute("AUTHCHIEFCONTROLLER") == null) { // Session is already available, but no main window (Head-less REST // session). Only create the base chief controller and the window - AuthHelper.createAuthHome(ureq); + Window currentWindow = AuthHelper.createAuthHome(ureq).getWindow(); + //the user is authenticated successfully with a security token, we can set the authenticated path + currentWindow.setUriPrefix(WebappHelper.getServletContextPath() + DispatcherAction.PATH_AUTHENTICATED); + Windows ws = Windows.getWindows(ureq); + ws.registerWindow(currentWindow); // no need to call setIdentityAsActive as this was already done by RestApiLoginFilter... } } @@ -293,11 +297,11 @@ public class RESTDispatcher implements Dispatcher { private String getRedirectToURL(UserSession usess) { ChiefController cc = (ChiefController) Windows.getWindows(usess).getAttribute("AUTHCHIEFCONTROLLER"); Window w = cc.getWindow(); - - URLBuilder ubu = new URLBuilder("", w.getInstanceId(), String.valueOf(w.getTimestamp()), null); + + URLBuilder ubu = new URLBuilder(WebappHelper.getServletContextPath() + DispatcherAction.PATH_AUTHENTICATED, w.getInstanceId(), String.valueOf(w.getTimestamp()), null); StringOutput sout = new StringOutput(30); ubu.buildURI(sout, null, null); - return WebappHelper.getServletContextPath() + DispatcherAction.PATH_AUTHENTICATED + sout.toString(); + return sout.toString(); } }