diff --git a/src/main/java/de/thm/arsnova/controller/LoginController.java b/src/main/java/de/thm/arsnova/controller/LoginController.java
index 9fd538ab6910c29b3b5dd0ddee1fac29d457503d..40e8b3bdcecca49c4b60a07320fe8d2d1f6f9791 100644
--- a/src/main/java/de/thm/arsnova/controller/LoginController.java
+++ b/src/main/java/de/thm/arsnova/controller/LoginController.java
@@ -51,8 +51,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.View;
 import org.springframework.web.servlet.view.RedirectView;
 
+import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.services.IUserService;
+import de.thm.arsnova.services.UserSessionService;
 
 @Controller
 public class LoginController extends AbstractController {
@@ -73,6 +75,9 @@ public class LoginController extends AbstractController {
 
 	@Autowired
 	private IUserService userService;
+	
+	@Autowired
+	private UserSessionService userSessionService;
 
 	public static final Logger LOGGER = LoggerFactory.getLogger(LoginController.class);
 
@@ -154,4 +159,16 @@ public class LoginController extends AbstractController {
 		}
 		return new RedirectView(request.getHeader("referer") != null ? request.getHeader("referer") : "/");
 	}
+	
+	@RequestMapping(value = { "/test/me" }, method = RequestMethod.GET)
+	@ResponseBody
+	public final User me() {
+		return userSessionService.getUser();		
+	}
+	
+	@RequestMapping(value = { "/test/mysession" }, method = RequestMethod.GET)
+	@ResponseBody
+	public final Session mysession() {
+		return userSessionService.getSession();		
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/controller/SessionController.java b/src/main/java/de/thm/arsnova/controller/SessionController.java
index 6d46ace9596a0a11ab8de143bce45c90349229b2..59b9e529b7edc209bbfa2ad541e6a6a21aabfa0f 100644
--- a/src/main/java/de/thm/arsnova/controller/SessionController.java
+++ b/src/main/java/de/thm/arsnova/controller/SessionController.java
@@ -43,6 +43,7 @@ import de.thm.arsnova.entities.Session;
 import de.thm.arsnova.entities.User;
 import de.thm.arsnova.services.ISessionService;
 import de.thm.arsnova.services.IUserService;
+import de.thm.arsnova.services.UserSessionService;
 import de.thm.arsnova.services.SessionService.SessionNameComperator;
 import de.thm.arsnova.services.SessionService.SessionShortNameComperator;
 
@@ -58,10 +59,16 @@ public class SessionController extends AbstractController {
 	@Autowired
 	private IUserService userService;
 
+	@Autowired
+	private UserSessionService userSessionService;
+
 	@RequestMapping(value = "/{sessionkey}", method = RequestMethod.GET)
 	@ResponseBody
 	public final Session joinSession(@PathVariable final String sessionkey) {
-		return sessionService.joinSession(sessionkey);
+		Session session = sessionService.joinSession(sessionkey);
+		userSessionService.setUser(userService.getCurrentUser());
+		userSessionService.setSession(session);
+		return session;
 	}
 
 	@RequestMapping(value = "/{sessionkey}", method = RequestMethod.DELETE)
diff --git a/src/main/java/de/thm/arsnova/services/UserSessionService.java b/src/main/java/de/thm/arsnova/services/UserSessionService.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea5b096836602038cb602d2288c71d13f6272682
--- /dev/null
+++ b/src/main/java/de/thm/arsnova/services/UserSessionService.java
@@ -0,0 +1,14 @@
+package de.thm.arsnova.services;
+
+import de.thm.arsnova.entities.Session;
+import de.thm.arsnova.entities.User;
+
+public interface UserSessionService {
+
+	void setUser(User user);
+	User getUser();
+	
+	void setSession(Session session);
+	Session getSession();
+	
+}
\ No newline at end of file
diff --git a/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java b/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..cbc8bc2008104f42cb4729f74954a649ac2d2f8e
--- /dev/null
+++ b/src/main/java/de/thm/arsnova/services/UserSessionServiceImpl.java
@@ -0,0 +1,35 @@
+package de.thm.arsnova.services;
+
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+
+import de.thm.arsnova.entities.Session;
+import de.thm.arsnova.entities.User;
+
+@Component
+@Scope("session")
+public class UserSessionServiceImpl implements UserSessionService {
+	
+	private User user;
+	private Session session;
+	
+	@Override
+	public void setUser(User u) {
+		this.user = u;
+	}
+	
+	@Override
+	public User getUser() {
+		return user;
+	}
+	
+	@Override
+	public void setSession(Session s) {
+		this.session = s;
+	}
+	
+	@Override
+	public Session getSession() {
+		return this.session;
+	}
+}
diff --git a/src/test/resources/test-config.xml b/src/test/resources/test-config.xml
index 1ef56bd0a43f9a898f7e34f04d76917a90d3d11f..1b6ae97af84c9bd28970863243c22ecc7e062a7b 100644
--- a/src/test/resources/test-config.xml
+++ b/src/test/resources/test-config.xml
@@ -17,4 +17,14 @@
 	</bean>
 
 	<bean id="userService" class="de.thm.arsnova.services.StubUserService" />
+	
+	<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
+    <property name="scopes">
+        <map>
+            <entry key="session">
+                <bean class="org.springframework.context.support.SimpleThreadScope"/>
+            </entry>
+        </map>
+    </property>
+	</bean>
 </beans>