/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.catalina.authenticator; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.connector.Request; /** * An Authenticator and Valve implementation that checks * only security constraints not involving user authentication. * * @author Craig R. McClanahan */ public final class NonLoginAuthenticator extends AuthenticatorBase { // --------------------------------------------------------- Public Methods /** *
Authenticate the user making this request, based on the fact that no
* login-config has been defined for the container.
This implementation means "login the user even though there is no * self-contained way to establish a security Principal for that user".
* *This method is called by the AuthenticatorBase super class to
* establish a Principal for the user BEFORE the container security
* constraints are examined, i.e. it is not yet known whether the user
* will eventually be permitted to access the requested resource.
* Therefore, it is necessary to always return true to
* indicate the user has not failed authentication.
There are two cases:
*auth-method to authenticate the
* user, so leave Request's Principal as null.
* Note: AuthenticatorBase will later examine the security constraints
* to determine whether the resource is accessible by a user
* without a security Principal and Role (i.e. unauthenticated).
*