org.asciidoctor
asciidoctorj
diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/plugins/LessonDescription.java b/webgoat-container/src/main/java/org/owasp/webgoat/plugins/LessonDescription.java
new file mode 100644
index 000000000..5aeb1fe39
--- /dev/null
+++ b/webgoat-container/src/main/java/org/owasp/webgoat/plugins/LessonDescription.java
@@ -0,0 +1,55 @@
+/**
+ * ************************************************************************************************
+ * This file is part of WebGoat, an Open Web Application Security Project utility. For details,
+ * please see http://www.owasp.org/
+ *
+ * Copyright (c) 2002 - 20014 Bruce Mayhew
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
+ * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program; if
+ * not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * Getting Source ==============
+ *
+ * Source for this application is maintained at https://github.com/WebGoat/WebGoat, a repository for free software
+ * projects.
+ *
+ *
+ * @author WebGoat
+ * @version $Id: $Id
+ * @since May 15, 2016
+ */
+package org.owasp.webgoat.plugins;
+
+
+import java.util.List;
+
+public class LessonDescription {
+
+ private String name;
+ private String title;
+ private String category;
+ private int ranking;
+ private List hints;
+}
+
+
+/**
+ lesson:
+ name: Access Control Matrix
+ title: Using an Access Control Matrix
+ category: ACCESS_CONTROL
+ ranking: 10
+ hints:
+ - Many sites attempt to restrict access to resources by role.
+ - Developers frequently make mistakes implementing this scheme.
+ - Attempt combinations of users, roles, and resources.
+ */
\ No newline at end of file
diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/plugins/Plugin.java b/webgoat-container/src/main/java/org/owasp/webgoat/plugins/Plugin.java
index 3880d05df..82608ea22 100644
--- a/webgoat-container/src/main/java/org/owasp/webgoat/plugins/Plugin.java
+++ b/webgoat-container/src/main/java/org/owasp/webgoat/plugins/Plugin.java
@@ -3,12 +3,10 @@ package org.owasp.webgoat.plugins;
import com.google.common.base.Optional;
import com.google.common.collect.Lists;
import org.owasp.webgoat.lessons.AbstractLesson;
-import org.owasp.webgoat.lessons.LessonEndpointMapping;
import org.springframework.util.StringUtils;
import java.io.File;
import java.io.IOException;
-import java.lang.annotation.Annotation;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.HashMap;
@@ -36,7 +34,6 @@ public class Plugin {
private Map lessonPlansLanguageFiles = new HashMap<>();
private List pluginFiles = Lists.newArrayList();
private File lessonSourceFile;
- private List lessonEndpoints = Lists.newArrayList();
public Plugin(PluginClassLoader classLoader) {
this.classLoader = classLoader;
@@ -50,22 +47,6 @@ public class Plugin {
public void findLesson(List classes) {
for (String clazzName : classes) {
findLesson(clazzName);
- findLessonEndpoints(clazzName);
- }
- }
-
- private void findLessonEndpoints(String name) {
- String realClassName = StringUtils.trimLeadingCharacter(name, '/').replaceAll("/", ".").replaceAll(".class", "");
- try {
- Class endpointClass = classLoader.loadClass(realClassName);
- Annotation annotation = endpointClass.getAnnotation(LessonEndpointMapping.class);
- if (annotation != null ) {
- this.lessonEndpoints.add(endpointClass);
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- //ignore
}
}
@@ -104,10 +85,6 @@ public class Plugin {
}
}
- public List getLessonEndpoints() {
- return lessonEndpoints;
- }
-
/**
* rewritePaths.
*