View Javadoc

    1   /* Copyright 2004 Acegi Technology Pty Limited
    2    *
    3    * Licensed under the Apache License, Version 2.0 (the "License");
    4    * you may not use this file except in compliance with the License.
    5    * You may obtain a copy of the License at
    6    *
    7    *     http://www.apache.org/licenses/LICENSE-2.0
    8    *
    9    * Unless required by applicable law or agreed to in writing, software
    10   * distributed under the License is distributed on an "AS IS" BASIS,
    11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12   * See the License for the specific language governing permissions and
    13   * limitations under the License.
    14   */
    15
    16  package org.acegisecurity.providers.jaas;
    17
    18  import org.acegisecurity.AcegiSecurityException;
    19
    20  import javax.security.auth.login.LoginException;
    21
    22
    23  /***
    24   * The JaasAuthenticationProvider takes an instance of LoginExceptionResolver
    25   * to resolve LoginModule specific exceptions to Acegi exceptions.  For
    26   * instance, a configured login module could throw a
    27   * ScrewedUpPasswordException that extends LoginException, in this instance
    28   * the LoginExceptionResolver implementation would return a {@link
    29   * org.acegisecurity.BadCredentialsException}.
    30   *
    31   * @author Ray Krueger
    32   * @version $Revision: 1.3 $
    33   */
    34  public interface LoginExceptionResolver {
    35      //~ Methods ================================================================
    36
    37      /***
    38       * Translates a Jaas LoginException to an AcegiSecurityException.
    39       *
    40       * @param e The LoginException thrown by the configured LoginModule.
    41       *
    42       * @return The AcegiSecurityException that the JaasAuthenticationProvider
    43       *         should throw.
    44       */
    45      public AcegiSecurityException resolveException(LoginException e);
    46  }