From abdc46f97a6590e29936e4e15aad375c3e6babdb Mon Sep 17 00:00:00 2001
From: Christoph Thelen <christoph.thelen@mni.thm.de>
Date: Wed, 29 Aug 2012 18:20:09 +0200
Subject: [PATCH] Allow CAS login for dojo-index.html

---
 src/main/java/de/thm/arsnova/LoginController.java | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/LoginController.java b/src/main/java/de/thm/arsnova/LoginController.java
index 59431a77f..932a4c893 100644
--- a/src/main/java/de/thm/arsnova/LoginController.java
+++ b/src/main/java/de/thm/arsnova/LoginController.java
@@ -18,6 +18,8 @@
  */
 package de.thm.arsnova;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.security.authentication.encoding.ShaPasswordEncoder;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
@@ -31,10 +33,16 @@ import org.springframework.web.servlet.ModelAndView;
 public class LoginController {
 	
 	@RequestMapping(method = RequestMethod.GET, value = "/doCasLogin")
-	public ModelAndView doCasLogin() {
+	public ModelAndView doCasLogin(HttpServletRequest request) {
+		String referer = request.getHeader("referer");
+		String target = "";
+		if (referer.endsWith("dojo-index.html")) {
+			target = "dojo-index.html";
+		}
+		
 		Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
 		User user = (User) authentication.getPrincipal();
-		return new ModelAndView("redirect:/#auth/checkCasLogin/" + user.getUsername());
+		return new ModelAndView("redirect:/" + target + "#auth/checkCasLogin/" + user.getUsername());
 	}
 	
 	@RequestMapping(method = RequestMethod.GET, value = "/doOpenIdLogin")
-- 
GitLab