Author: markt Date: Thu Aug 4 13:24:20 2016 New Revision: 1755180 URL: http://svn.apache.org/viewvc?rev=1755180&view=rev Log: Refactoring towards a fix for BZ 59823 Move the authenticate() implementation to the base class so JASPIC processing can be included
Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/NonLoginAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java Thu Aug 4 13:24:20 2016 @@ -641,9 +641,34 @@ public abstract class AuthenticatorBase } } + + @Override + public boolean authenticate(Request request, HttpServletResponse response) throws IOException { + return doAuthenticate(request, response); + } + + // ------------------------------------------------------ Protected Methods /** + * Provided for sub-classes to implement their specific authentication + * mechanism. + * + * @param request The request that triggered the authentication + * @param resonse The response associated with the request + * + * @return {@code true} if the the user was authenticated, otherwise {@code + * false}, in which case an authentication challenge will have been + * written to the response + * + * @throws IOException If an I/O problem occurred during the authentication + * process + */ + protected abstract boolean doAuthenticate(Request request, HttpServletResponse resonse) + throws IOException; + + + /** * Look for the X509 certificate chain in the Request under the key * <code>javax.servlet.request.X509Certificate</code>. If not found, trigger * extracting the certificate chain from the Coyote request. Modified: tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java Thu Aug 4 13:24:20 2016 @@ -48,19 +48,8 @@ public class BasicAuthenticator extends // --------------------------------------------------------- Public Methods - /** - * Authenticate the user making this request, based on the specified - * login configuration. Return <code>true</code> if any specified - * constraint has been satisfied, or <code>false</code> if we have - * created a response challenge already. - * - * @param request Request we are processing - * @param response Response we are creating - * - * @exception IOException if an input/output error occurs - */ @Override - public boolean authenticate(Request request, HttpServletResponse response) + protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException { if (checkForCachedAuthentication(request, response, true)) { Modified: tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java Thu Aug 4 13:24:20 2016 @@ -194,7 +194,7 @@ public class DigestAuthenticator extends * @exception IOException if an input/output error occurs */ @Override - public boolean authenticate(Request request, HttpServletResponse response) + protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException { // NOTE: We don't try to reauthenticate using any existing SSO session, Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Thu Aug 4 13:24:20 2016 @@ -130,7 +130,7 @@ public class FormAuthenticator * @exception IOException if an input/output error occurs */ @Override - public boolean authenticate(Request request, HttpServletResponse response) + protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException { if (checkForCachedAuthentication(request, response, true)) { Modified: tomcat/trunk/java/org/apache/catalina/authenticator/NonLoginAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/NonLoginAuthenticator.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/NonLoginAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/NonLoginAuthenticator.java Thu Aug 4 13:24:20 2016 @@ -74,7 +74,7 @@ public final class NonLoginAuthenticator * @exception IOException if an input/output error occurs */ @Override - public boolean authenticate(Request request, HttpServletResponse response) + protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException { // Don't try and use SSO to authenticate since there is no auth Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SSLAuthenticator.java Thu Aug 4 13:24:20 2016 @@ -46,7 +46,7 @@ public class SSLAuthenticator extends Au * @exception IOException if an input/output error occurs */ @Override - public boolean authenticate(Request request, HttpServletResponse response) + protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException { // NOTE: We don't try to reauthenticate using any existing SSO session, Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1755180&r1=1755179&r2=1755180&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Thu Aug 4 13:24:20 2016 @@ -134,7 +134,7 @@ public class SpnegoAuthenticator extends @Override - public boolean authenticate(Request request, HttpServletResponse response) + protected boolean doAuthenticate(Request request, HttpServletResponse response) throws IOException { if (checkForCachedAuthentication(request, response, true)) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org