// --- BEGIN COPYRIGHT BLOCK --- // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. // // (C) 2007 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- package com.netscape.cmscore.authentication; import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.authentication.AuthToken; import com.netscape.certsrv.authentication.EInvalidCredentials; import com.netscape.certsrv.authentication.EMissingCredential; import com.netscape.certsrv.authentication.IAuthCredentials; import com.netscape.certsrv.authentication.IAuthManager; import com.netscape.certsrv.authentication.IAuthToken; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.logging.ILogger; /** * This authentication does nothing but just returns an empty authToken. *

* * @author chrisho * @version $Revision$, $Date$ */ public class NullAuthentication implements IAuthManager { /* configuration params to pass to console (none) */ protected static String[] mConfigParams = null; protected static String[] mRequiredCred = {}; private String mName = null; private String mImplName = null; private IConfigStore mConfig = null; private ILogger mLogger = CMS.getLogger(); public NullAuthentication() { } /** * initializes the NullAuthentication auth manager *

* called by AuthSubsystem init() method, when initializing all available authentication managers. * * @param name - Name assigned to this authentication manager instance. * @param implName - Name of the authentication plugin. * @param config - The configuration store used by the * authentication subsystem. */ public void init(String name, String implName, IConfigStore config) throws EBaseException { mName = name; mImplName = implName; mConfig = config; log(ILogger.LL_INFO, CMS.getLogMessage("CMSCORE_AUTH_INIT_AUTH", mName)); } /** * authenticates nothing *

* called by other subsystems or their servlets to authenticate administrators * * @param authCred Authentication credentials. * "uid" and "pwd" are required. * @return the authentication token (authToken) that contains the following * userdn = [userdn, in case of success]
* authMgrName = [authMgrName]
* @exception com.netscape.certsrv.base.MissingCredential If either * "uid" or "pwd" is missing from the given credentials. * @exception com.netscape.certsrv.base.InvalidCredentials If the * the credentials failed to authenticate. * @exception com.netscape.certsrv.base.EBaseException If an internal * error occurred. */ public IAuthToken authenticate(IAuthCredentials authCred) throws EMissingCredential, EInvalidCredentials, EBaseException { AuthToken authToken = new AuthToken(this); authToken.set("authType", "NOAUTH"); return authToken; } /** * gets the name of this authentication manager instance */ public String getName() { return mName; } /** * gets the name of the authentication manager plugin */ public String getImplName() { return mImplName; } /** * get the list of authentication credential attribute names * required by this authentication manager. Generally used by * servlets that use this authentication manager, to retrieve * required credentials from the user (e.g. Javascript form data) * * @return attribute names in Vector */ public String[] getRequiredCreds() { return (mRequiredCred); } /** * Get the list of configuration parameter names * required by this authentication manager. In this case, an empty list. * * @return String array of configuration parameters. */ public String[] getConfigParams() { return (mConfigParams); } /** * disconnects the member connection */ public void shutdown() { } /** * gets the configuration substore used by this authentication * manager * * @return configuration store */ public IConfigStore getConfigStore() { return mConfig; } /** * Log a message. * * @param level The logging level. * @param msg The message to log. */ private void log(int level, String msg) { if (mLogger == null) return; mLogger.log(ILogger.EV_SYSTEM, null, ILogger.S_AUTHENTICATION, level, msg); } }