01: /* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
02: *
03: * Licensed under the Apache License, Version 2.0 (the "License");
04: * you may not use this file except in compliance with the License.
05: * You may obtain a copy of the License at
06: *
07: * http://www.apache.org/licenses/LICENSE-2.0
08: *
09: * 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: * The JaasAuthenticationProvider takes an instance of LoginExceptionResolver
24: * to resolve LoginModule specific exceptions to Acegi exceptions. For
25: * instance, a configured login module could throw a
26: * ScrewedUpPasswordException that extends LoginException, in this instance
27: * the LoginExceptionResolver implementation would return a {@link
28: * org.acegisecurity.BadCredentialsException}.
29: *
30: * @author Ray Krueger
31: * @version $Revision: 1784 $
32: */
33: public interface LoginExceptionResolver {
34: //~ Methods ========================================================================================================
35:
36: /**
37: * Translates a Jaas LoginException to an AcegiSecurityException.
38: *
39: * @param e The LoginException thrown by the configured LoginModule.
40: *
41: * @return The AcegiSecurityException that the JaasAuthenticationProvider should throw.
42: */
43: AcegiSecurityException resolveException(LoginException e);
44: }
|