diff options
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.java | 32 |
1 files changed, 19 insertions, 13 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 8567d7834..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); } @@ -197,15 +199,16 @@ public abstract class AbstractController extends MOAIDAuthConstants { * @param loggedException Exception to log */ protected void logExceptionToTechnicalLog(Throwable loggedException) { - if (!(loggedException instanceof MOAIDException)) { + if (!( loggedException instanceof MOAIDException + || loggedException instanceof ProcessExecutionException )) { Logger.error("Receive an internal error: Message=" + loggedException.getMessage(), loggedException); } else { if (Logger.isDebugEnabled() || Logger.isTraceEnabled()) { - Logger.error(loggedException.getMessage(), loggedException); + Logger.warn(loggedException.getMessage(), loggedException); } else { - Logger.error(loggedException.getMessage()); + Logger.info(loggedException.getMessage()); } } @@ -223,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 @@ -236,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 @@ -253,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 { @@ -361,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); } |