protected void forwardToLoginPage(Request request,
HttpServletResponse response, LoginConfig config)
throws IOException {
+
+ String loginPage = config.getLoginPage();
+ if (loginPage == null || loginPage.length() == 0) {
+ String msg = sm.getString("formAuthenticator.noLoginPage",
+ context.getName());
+ log.warn(msg);
+ response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ msg);
+ return;
+ }
+
RequestDispatcher disp =
- context.getServletContext().getRequestDispatcher
- (config.getLoginPage());
+ context.getServletContext().getRequestDispatcher(loginPage);
try {
if (context.fireRequestInitEvent(request)) {
disp.forward(request.getRequest(), response);
protected void forwardToErrorPage(Request request,
HttpServletResponse response, LoginConfig config)
throws IOException {
+
+ String errorPage = config.getErrorPage();
+ if (errorPage == null || errorPage.length() == 0) {
+ String msg = sm.getString("formAuthenticator.noErrorPage",
+ context.getName());
+ log.warn(msg);
+ response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ msg);
+ return;
+ }
+
RequestDispatcher disp =
context.getServletContext().getRequestDispatcher
(config.getErrorPage());
formAuthenticator.forwardErrorFail=Unexpected error forwarding to error page
formAuthenticator.forwardLoginFail=Unexpected error forwarding to login page
+formAuthenticator.noErrorPage=No error page was defined for FORM authentication in context [{0}]
+formAuthenticator.noLoginPage=No login page was defined for FORM authentication in context [{0}]
spnegoAuthenticator.authHeaderNoToken=The Negotiate authorization header sent by the client did not include a token
spnegoAuthenticator.authHeaderNotNego=The authorization header sent by the client did not start with Negotiate
<bug>51274</bug>: Add missing i18n strings in PersistentManagerBase.
Patch provided by Eiji Takahashi. (markt)
</fix>
+ <fix>
+ <bug>51277</bug>: Improve error message if an application is deployed
+ with an incomplete FORM authentication configuration. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">