Index: java/org/apache/catalina/authenticator/FormAuthenticator.java =================================================================== --- java/org/apache/catalina/authenticator/FormAuthenticator.java (revision 1179702) +++ java/org/apache/catalina/authenticator/FormAuthenticator.java (working copy) @@ -315,6 +315,16 @@ */ protected void forwardToLoginPage(Request request, Response response, LoginConfig config) throws IOException { + + if (log.isDebugEnabled()) + log.debug("Forwarding request " + request.getMethod() + + " '" + request.getRequestURI() + "' to the login page as GET '" + + context.getServletContext().getContextPath() + + config.getLoginPage() + "'"); + + request.getCoyoteRequest().method().setString("GET"); + request.setMethod("GET"); + RequestDispatcher disp = context.getServletContext().getRequestDispatcher (config.getLoginPage()); @@ -447,7 +457,8 @@ request.getCoyoteRequest().getParameters().setQueryStringEncoding( request.getConnector().getURIEncoding()); - if ("POST".equalsIgnoreCase(saved.getMethod())) { + if ("POST".equalsIgnoreCase(saved.getMethod()) + || "PUT".equalsIgnoreCase(saved.getMethod())) { ByteChunk body = saved.getBody(); if (body != null) { @@ -511,7 +522,8 @@ saved.addLocale(locale); } - if ("POST".equalsIgnoreCase(request.getMethod())) { + if ("POST".equalsIgnoreCase(request.getMethod()) + || "PUT".equalsIgnoreCase(request.getMethod())) { // May need to acknowledge a 100-continue expectation request.getResponse().sendAcknowledgement();