1 /*
2 * $Header: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTCredentials.java,v 1.6.2.1 2003/08/16 00:09:37 adrian Exp $
3 * $Revision: 1.6.2.1 $
4 * $Date: 2003/08/16 00:09:37 $
5 *
6 * ====================================================================
7 *
8 * The Apache Software License, Version 1.1
9 *
10 * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
11 * reserved.
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 *
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 *
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in
22 * the documentation and/or other materials provided with the
23 * distribution.
24 *
25 * 3. The end-user documentation included with the redistribution, if
26 * any, must include the following acknowlegement:
27 * "This product includes software developed by the
28 * Apache Software Foundation (http://www.apache.org/)."
29 * Alternately, this acknowlegement may appear in the software itself,
30 * if and wherever such third-party acknowlegements normally appear.
31 *
32 * 4. The names "The Jakarta Project", "Commons", and "Apache Software
33 * Foundation" must not be used to endorse or promote products derived
34 * from this software without prior written permission. For written
35 * permission, please contact apache@apache.org.
36 *
37 * 5. Products derived from this software may not be called "Apache"
38 * nor may "Apache" appear in their names without prior written
39 * permission of the Apache Group.
40 *
41 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
42 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
43 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
44 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
45 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
47 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
48 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
49 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
50 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
51 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52 * SUCH DAMAGE.
53 * ====================================================================
54 *
55 * This software consists of voluntary contributions made by many
56 * individuals on behalf of the Apache Software Foundation. For more
57 * information on the Apache Software Foundation, please see
58 * <http://www.apache.org/>.
59 *
60 * [Additional notices, if required by prior licensing conditions]
61 *
62 */
63
64 package org.apache.commons.httpclient;
65
66 /*** {@link Credentials} for use with the NTLM authentication scheme which requires additional
67 * information.
68 *
69 * @author <a href="mailto:adrian@ephox.com">Adrian Sutton</a>
70 * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
71 *
72 * @version $Revision: 1.6.2.1 $ $Date: 2003/08/16 00:09:37 $
73 *
74 * @since 2.0
75 */
76 public class NTCredentials extends UsernamePasswordCredentials {
77
78 // ----------------------------------------------------- Instance Variables
79
80 /*** The Domain to authenticate with. */
81 private String domain;
82
83 /*** The host the authentication request is originating from. */
84 private String host;
85
86
87 // ----------------------------------------------------------- Constructors
88
89 /***
90 * Default constructor.
91 */
92 public NTCredentials() {
93 super();
94 }
95
96 /***
97 * Constructor.
98 * @param userName The user name. This should not include the domain to authenticate with.
99 * For example: "user" is correct whereas "DOMAIN//user" is not.
100 * @param password The password.
101 * @param host The host the authentication request is originating from. Essentially, the
102 * computer name for this machine.
103 * @param domain The domain to authenticate within.
104 */
105 public NTCredentials(String userName, String password, String host,
106 String domain) {
107 super(userName, password);
108 this.domain = domain;
109 this.host = host;
110 }
111 // ------------------------------------------------------- Instance Methods
112
113
114 /***
115 * Sets the domain to authenticate with.
116 *
117 * @param domain the NT domain to authenticate in.
118 *
119 * @see #getDomain()
120 *
121 */
122 public void setDomain(String domain) {
123 this.domain = domain;
124 }
125
126 /***
127 * Retrieves the name to authenticate with.
128 *
129 * @return String the domain these credentials are intended to authenticate with.
130 *
131 * @see #setDomain(String)
132 *
133 */
134 public String getDomain() {
135 return domain;
136 }
137
138 /*** Sets the host name of the computer originating the request.
139 *
140 * @param host the Host the user is logged into.
141 */
142 public void setHost(String host) {
143 this.host = host;
144 }
145
146 /***
147 * Retrieves the host name of the computer originating the request.
148 *
149 * @return String the host the user is logged into.
150 */
151 public String getHost() {
152 return this.host;
153 }
154
155 /***
156 * Return a string representation of this object.
157 * @return A string represenation of this object.
158 */
159 public String toString() {
160 final StringBuffer sbResult = new StringBuffer(super.toString());
161
162 sbResult.append(":");
163 sbResult.append(this.host == null ? "null" : this.host);
164 sbResult.append(this.domain == null ? "null" : this.domain);
165
166 return sbResult.toString();
167 }
168
169 }
This page was automatically generated by Maven