diff --git a/webgoat-container/pom.xml b/webgoat-container/pom.xml
index f9e4f76ae..d2f86a151 100644
--- a/webgoat-container/pom.xml
+++ b/webgoat-container/pom.xml
@@ -242,6 +242,12 @@
${junit.version}
jar
+
+ com.github.fakemongo
+ fongo
+ 2.1.0
+ test
+
diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/controller/StartLesson.java b/webgoat-container/src/main/java/org/owasp/webgoat/controller/StartLesson.java
index 6af1770f3..28d0524fb 100644
--- a/webgoat-container/src/main/java/org/owasp/webgoat/controller/StartLesson.java
+++ b/webgoat-container/src/main/java/org/owasp/webgoat/controller/StartLesson.java
@@ -33,7 +33,6 @@ package org.owasp.webgoat.controller;
import org.owasp.webgoat.lessons.AbstractLesson;
import org.owasp.webgoat.session.Course;
import org.owasp.webgoat.session.WebSession;
-import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
@@ -77,8 +76,8 @@ public class StartLesson {
// I will set here the thymeleaf fragment location based on the resource requested.
ModelAndView model = new ModelAndView();
SecurityContext context = SecurityContextHolder.getContext(); //TODO this should work with the security roles of Spring
- GrantedAuthority authority = context.getAuthentication().getAuthorities().iterator().next();
- String path = request.getServletPath(); // we now got /a/b/c/AccessControlMatrix.lesson
+ //GrantedAuthority authority = context.getAuthentication().getAuthorities().iterator().next();
+ String path = request.getRequestURL().toString(); // we now got /a/b/c/AccessControlMatrix.lesson
String lessonName = path.substring(path.lastIndexOf('/') + 1, path.indexOf(".lesson"));
List lessons = course.getLessons();
Optional lesson = lessons.stream()
diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/lessons/AbstractLesson.java b/webgoat-container/src/main/java/org/owasp/webgoat/lessons/AbstractLesson.java
index eb200b354..1336fa326 100644
--- a/webgoat-container/src/main/java/org/owasp/webgoat/lessons/AbstractLesson.java
+++ b/webgoat-container/src/main/java/org/owasp/webgoat/lessons/AbstractLesson.java
@@ -1,6 +1,6 @@
package org.owasp.webgoat.lessons;
-import lombok.Getter;
+import com.google.common.collect.Lists;
import lombok.Setter;
import org.owasp.webgoat.session.Screen;
@@ -44,10 +44,16 @@ public abstract class AbstractLesson extends Screen implements Comparable