001    package org.esupportail.cas.server.handlers.test;
002    
003    import org.dom4j.Element;
004    import org.esupportail.cas.server.util.BasicHandler;
005    
006    /**
007     * This class implements an 'password equals username' handler class. It is used by
008     * GenericHandler for debugging purposes.
009     *
010     * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
011     */
012    public final class PasswordEqualsUsernameHandler extends BasicHandler {
013            
014            /**
015             * Constructor.
016             *
017             * @param handlerElement the XML element that declares the handler 
018             * in the configuration file
019             * @param configDebug debugging mode of the global configuration
020             */
021            public PasswordEqualsUsernameHandler(
022                            final Element handlerElement, 
023                            final Boolean configDebug) {
024                    super(handlerElement, configDebug);
025                    traceBegin();
026                    traceEnd();
027            }
028            
029            /**
030             * Try to authenticate a user.
031             *
032             * @param username the user's name
033             * @param password the user's password
034             *
035             * @return BasicHandler.SUCCEDED if password equals username,
036             * or BasicHandler.FAILED_CONTINUE otherwise.
037             */     
038            public int authenticate(final String username,
039                            final String password) {
040                    traceBegin();
041                    if (password.equals(username)) {
042                            traceEnd("SUCCEEDED");
043                            return SUCCEEDED;
044                    } else {
045                            traceEnd("FAILED_CONTINUE");
046                            return FAILED_CONTINUE;
047                    }
048            }
049            
050    }