aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java25
1 files changed, 15 insertions, 10 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java
index 396ffb53d..36390ba62 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AbstractController.java
@@ -56,6 +56,7 @@ import at.gv.egovernment.moa.id.protocols.AbstractAuthProtocolModulController;
import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.AuthnRequestValidatorException;
import at.gv.egovernment.moa.id.storage.ITransactionStorage;
import at.gv.egovernment.moa.id.util.ErrorResponseUtils;
+import at.gv.egovernment.moa.id.util.HTTPUtils;
import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.id.util.ServletUtils;
@@ -73,6 +74,7 @@ public abstract class AbstractController extends MOAIDAuthConstants {
private static final String HTMLTEMPLATESDIR = "htmlTemplates/";
private static final String HTMLTEMPLATEFULL = "error_message.html";
+ private static String CONTEXTPATH = "#CONTEXTPATH#";
@Autowired protected StatisticLogger statisticLogger;
@Autowired protected IRequestStorage requestStorage;
@@ -185,7 +187,7 @@ public abstract class AbstractController extends MOAIDAuthConstants {
else {
//write generic message for general exceptions
String msg = MOAIDMessageProvider.getInstance().getMessage("internal.00", null);
- writeHTMLErrorResponse(resp, msg, "9199", (Exception) throwable);
+ writeHTMLErrorResponse(req, resp, msg, "9199", (Exception) throwable);
}
@@ -224,7 +226,7 @@ public abstract class AbstractController extends MOAIDAuthConstants {
}
- private void writeHTMLErrorResponse(HttpServletResponse httpResp, String msg, String errorCode, Exception error) throws IOException {
+ private void writeHTMLErrorResponse(HttpServletRequest req, HttpServletResponse httpResp, String msg, String errorCode, Exception error) throws IOException {
VelocityContext context = new VelocityContext();
//add errorcode and errormessage
@@ -237,11 +239,11 @@ public abstract class AbstractController extends MOAIDAuthConstants {
}
- writeHTMLErrorResponse(httpResp, context);
+ writeHTMLErrorResponse(req, httpResp, context);
}
- private void writeHTMLErrorResponse(HttpServletResponse httpResp, Exception error) throws IOException {
+ private void writeHTMLErrorResponse(HttpServletRequest req, HttpServletResponse httpResp, Exception error) throws IOException {
VelocityContext context = new VelocityContext();
//add errorcode and errormessage
@@ -254,11 +256,14 @@ public abstract class AbstractController extends MOAIDAuthConstants {
}
- writeHTMLErrorResponse(httpResp, context);
+ writeHTMLErrorResponse(req, httpResp, context);
}
- private void writeHTMLErrorResponse(HttpServletResponse httpResp, VelocityContext context) throws IOException {
- try {
+ private void writeHTMLErrorResponse(HttpServletRequest req, HttpServletResponse httpResp, VelocityContext context) throws IOException {
+ try {
+ String authURL = HTTPUtils.extractAuthURLFromRequest(req);
+ context.put(CONTEXTPATH, authURL);
+
InputStream is = null;
String pathLocation = null;
try {
@@ -362,15 +367,15 @@ public abstract class AbstractController extends MOAIDAuthConstants {
} else if (e instanceof ConfigurationException) {
//send HTML formated error message
- writeHTMLErrorResponse(resp, (MOAIDException) e);
+ writeHTMLErrorResponse(req, resp, (MOAIDException) e);
} else if (e instanceof MOAIDException) {
//send HTML formated error message
- writeHTMLErrorResponse(resp, e);
+ writeHTMLErrorResponse(req, resp, e);
} else if (e instanceof ProcessExecutionException) {
//send HTML formated error message
- writeHTMLErrorResponse(resp, e);
+ writeHTMLErrorResponse(req, resp, e);
}