01: /*
02: * ========================================================================
03: *
04: * Copyright 2001-2003 The Apache Software Foundation.
05: *
06: * Licensed under the Apache License, Version 2.0 (the "License");
07: * you may not use this file except in compliance with the License.
08: * You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: *
18: * ========================================================================
19: */
20: package org.apache.cactus.client.authentication;
21:
22: import org.apache.cactus.WebRequest;
23: import org.apache.cactus.internal.configuration.Configuration;
24: import org.apache.commons.httpclient.HttpMethod;
25: import org.apache.commons.httpclient.HttpState;
26:
27: /**
28: * Interface for different authentication modules. An authentication class is
29: * invoked on the client side to perform the actual authentication, for example
30: * by modifying the request to includes credentials.
31: *
32: * @since 1.5
33: *
34: * @version $Id: Authentication.java 238991 2004-05-22 11:34:50Z vmassol $
35: */
36: public interface Authentication {
37:
38: /**
39: * Modifies the request so that it will carry authentication information.
40: *
41: * @param theState The HttpClient state object that can be used to ask
42: * HttpClient to set up authentication
43: * @param theMethod the HttpClient HTTP method that will be used to connect
44: * to the server side
45: * @param theRequest The request object that will be sent to the Cactus
46: * Redirector over HTTP
47: * @param theConfiguration The Cactus configuration so that
48: * authentication methods can get access to Cactus configuration
49: * properties
50: */
51: void configure(HttpState theState, HttpMethod theMethod,
52: WebRequest theRequest, Configuration theConfiguration);
53:
54: }
|