All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javaxt.http.servlet.Authenticator Maven / Gradle / Ivy

package javaxt.http.servlet;

//******************************************************************************
//**  Authenticator Interface
//******************************************************************************
/**
 * Implementations of this class are used to parse credentials and authenticate
 * client requests.
 *
 ******************************************************************************/

public interface Authenticator {

	/** String identifier for "BASIC" authentication. */
	public static final String BASIC_AUTH = "BASIC";

	/** String identifier for "FORM" authentication. */
	public static final String FORM_AUTH = "FORM";

	/** String identifier for Client Certificate authentication. */
	public static final String CLIENT_CERT_AUTH = "CLIENT_CERT";

	/** String identifier for "DIGEST" authentication. */
	public static final String DIGEST_AUTH = "DIGEST";

	// **************************************************************************
	// ** newInstance
	// **************************************************************************
	/**
	 * Returns a new instance of an Authenticator used to authenticate requests.
	 * This method is called with each new http request.
	 */
	public Authenticator newInstance(HttpServletRequest request);

	// **************************************************************************
	// ** getCredentials
	// **************************************************************************
	/**
	 * Returns an array representing the client credentials associated with this
	 * request. The first element in the array represents the username and the
	 * second element represents the password. Client credentials may be found
	 * in the "Authorization" request header, in a client certificate, etc.
	 * Implementations of this class must communicate the authentication scheme
	 * via the getAuthType() method. If the Authenticator fails to parse the
	 * credentials, this method returns a null.
	 */
	public String[] getCredentials();

	// **************************************************************************
	// ** authenticate
	// **************************************************************************
	/**
	 * Used to authenticate a client request. If the Authenticator fails to
	 * authenticate the client, this method throws a ServletException.
	 */
	public void authenticate() throws ServletException;

	// **************************************************************************
	// ** getUserPrincipal
	// **************************************************************************
	/**
	 * Returns a java.security.Principal object containing the name of a given
	 * user. If the user has not been authenticated, the method returns a null.
	 */
	public java.security.Principal getPrinciple();

	// **************************************************************************
	// ** isUserInRole
	// **************************************************************************
	/**
	 * Returns a boolean indicating whether a user is included in the specified
	 * "role". Roles and role membership are often managed by instances of this
	 * class using deployment descriptors. If the user is not authenticated, or
	 * if no role is defined for the user, the method returns false.
	 */
	public boolean isUserInRole(String role);

	// **************************************************************************
	// ** getAuthType
	// **************************************************************************
	/**
	 * Returns the authentication scheme used to authenticate clients (e.g.
	 * "BASIC", "DIGEST", "CLIENT_CERT", etc).
	 */
	public String getAuthType();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy