KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > security > auth > message > config > ClientAuthContext


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package javax.security.auth.message.config;
23
24 import javax.security.auth.message.ClientAuth;
25
26 //$Id: ClientAuthContext.java 45179 2006-05-23 20:18:57Z asaldhana $
27

28 /**
29  * <p>This ClientAuthContext class encapsulates ClientAuthModules that are used to
30  * secure service requests made by a client, and to validate any responses received
31  * to those requests. A caller typically uses this class in the following manner:<p>
32  * <ol>
33  * <li>Retrieve an instance of this class via ClientAuthConfig.getAuthContext.</li>
34  * <li>Invoke secureRequest.</li>
35  * <p> ClientAuthContext implementation invokes secureRequest of encapsulated
36  * ClientAuthModule(s). Module(s) attach credentials to initial request object
37  * (for example, a username and password), and/or secure the request (for example,
38  * sign and encrypt the request).</p>
39  * <li>Send request and receive response.</li>
40  * <li>Invoke validateResponse.</li>
41  * <p>ClientAuthContext implementation invokes validateResponse of encapsulated
42  * ClientAuthModule(s). Module(s) verify or decrypt response as necessary.</p>
43  * <li>Invoke cleanSubject method (as necessary) to clean up any authentication
44  * state in Subject.</li>
45  * </ol>
46  * <p>A ClientAuthContext instance may be used concurrently by multiple callers.</p>
47  * <p>Implementations of this interface are responsible for constructing and
48  * initializing the encapsulated modules. The initialization step includes passing
49  * the relevant request and response MessagePolicy objects to the encapsulated modules.
50  * The MessagePolicy objects are obtained by the ClientAuthConfig instance used to obtain
51  * the ClientAuthContext object. See ClientAuthConfig.getAuthContext for more information.</p>
52  * <p>Implementations of this interface are instantiated by their associated configuration
53  * object such that they know which modules to invoke, in what order, and how results
54  * returned by preceding modules are to influence subsequent module invocations.</p>
55  * <p>Calls to the inherited methods of this interface pass a Map that maybe used by the
56  * underlying modules to save and communicate state across a sequence of calls from
57  * secureRequest to validateResponse to cleanSubject. The same Map instance must be passed
58  * to all methods in a call sequence, and a different Map should be passed to each
59  * call sequence.</p>
60  *
61  * @author <a HREF="mailto:Anil.Saldhana@jboss.org">Anil Saldhana</a>
62  * @author Charlie Lai, Ron Monzillo (Javadoc for JSR-196)</a>
63  * @since May 12, 2006
64  * @version $Revision: 45179 $
65  */

66 public interface ClientAuthContext extends ClientAuth
67 {
68 }
69
Popular Tags