| java.lang.Object sun.net.www.protocol.http.AuthenticationInfo
All known Subclasses: sun.net.www.protocol.http.BasicAuthentication, sun.net.www.protocol.http.DigestAuthentication, sun.net.www.protocol.http.NTLMAuthentication,
AuthenticationInfo | abstract class AuthenticationInfo implements Cloneable(Code) | | AuthenticationInfo: Encapsulate the information needed to
authenticate a user to a server.
version: 1.19, 11/06/00 |
Field Summary | |
final static char | PROXY_AUTHENTICATION | final static char | SERVER_AUTHENTICATION | char | authType The authentication type (basic/digest). | String | host The host we're authenticating against. | String | path The shortest path from the URL we authenticated against. | int | port The port on the host we're authenticating against. | String | protocol The protocol/scheme (i.e. | String | realm The realm we're authenticating against. | static boolean | serializeAuth If true, then simultaneous authentication requests to the same realm/proxy
are serialized, in order to avoid a user having to type the same username/passwords
repeatedly, via the Authenticator. | char | type The type (server/proxy) of authentication this is. |
Method Summary | |
void | addToCache() | String | cacheKey(boolean includeRealm) Give a key for hash table lookups.
Parameters: includeRealm - if you want the realm considered. | abstract void | checkResponse(String header, String method, URL url) | public Object | clone() | void | endAuthRequest() | static AuthenticationInfo | getAuth(String key, URL url) Return the AuthenticationInfo object from the cache if it's path is
a substring of the supplied URLs path. | abstract String | getHeaderName() | abstract String | getHeaderValue(URL url, String method) Calculates and returns the authentication header value based
on the stored authentication parameters. | static AuthenticationInfo | getProxyAuth(String host, int port) Returns a firewall authentication, for the given host/port. | static AuthenticationInfo | getProxyAuth(String host, int port, String realm, char atype) Returns a firewall authentication, for the given host/port and realm.
Used in response to a challenge. | static AuthenticationInfo | getServerAuth(URL url) Returns info for the URL, for an HTTP server auth. | static AuthenticationInfo | getServerAuth(URL url, String realm, char atype) Returns info for the URL, for an HTTP server auth. | abstract boolean | isAuthorizationStale(String header) Check if the header indicates that the current auth. | static void | printCache() | static String | reducePath(String urlPath) | void | removeFromCache() | abstract boolean | setHeaders(HttpURLConnection conn, HeaderParser p, String raw) Set header(s) on the given connection. | abstract boolean | supportsPreemptiveAuthorization() |
PROXY_AUTHENTICATION | final static char PROXY_AUTHENTICATION(Code) | | |
SERVER_AUTHENTICATION | final static char SERVER_AUTHENTICATION(Code) | | |
authType | char authType(Code) | | The authentication type (basic/digest). Also used for key lookup
|
host | String host(Code) | | The host we're authenticating against.
|
path | String path(Code) | | The shortest path from the URL we authenticated against.
|
port | int port(Code) | | The port on the host we're authenticating against.
|
protocol | String protocol(Code) | | The protocol/scheme (i.e. http or https ). Need to keep the caches
logically separate for the two protocols. This field is only used
when constructed with a URL (the normal case for server authentication)
For proxy authentication the protocol is not relevant.
|
realm | String realm(Code) | | The realm we're authenticating against.
|
serializeAuth | static boolean serializeAuth(Code) | | If true, then simultaneous authentication requests to the same realm/proxy
are serialized, in order to avoid a user having to type the same username/passwords
repeatedly, via the Authenticator. Default is false, which means that this
behavior is switched off.
|
type | char type(Code) | | The type (server/proxy) of authentication this is. Used for key lookup
|
AuthenticationInfo | AuthenticationInfo(char type, char authType, String host, int port, String realm)(Code) | | Use this constructor only for proxy entries
|
AuthenticationInfo | AuthenticationInfo(char type, char authType, URL url, String realm)(Code) | | |
addToCache | void addToCache()(Code) | | Add this authentication to the cache
|
cacheKey | String cacheKey(boolean includeRealm)(Code) | | Give a key for hash table lookups.
Parameters: includeRealm - if you want the realm considered. Preemptivelysetting an authorization is done before the realm is known. |
checkResponse | abstract void checkResponse(String header, String method, URL url) throws IOException(Code) | | Check for any expected authentication information in the response
from the server
|
endAuthRequest | void endAuthRequest()(Code) | | |
getAuth | static AuthenticationInfo getAuth(String key, URL url)(Code) | | Return the AuthenticationInfo object from the cache if it's path is
a substring of the supplied URLs path.
|
getHeaderName | abstract String getHeaderName()(Code) | | the name of the HTTP header this authentication wants set.This is used for preemptive authorization. |
getHeaderValue | abstract String getHeaderValue(URL url, String method)(Code) | | Calculates and returns the authentication header value based
on the stored authentication parameters. If the calculation does not depend
on the URL or the request method then these parameters are ignored.
Parameters: url - The URL Parameters: method - The request method the value of the HTTP header this authentication wants set.Used for preemptive authorization. |
getProxyAuth | static AuthenticationInfo getProxyAuth(String host, int port)(Code) | | Returns a firewall authentication, for the given host/port. Used
for preemptive header-setting. Note, the protocol field is always
blank for proxies.
|
getProxyAuth | static AuthenticationInfo getProxyAuth(String host, int port, String realm, char atype)(Code) | | Returns a firewall authentication, for the given host/port and realm.
Used in response to a challenge. Note, the protocol field is always
blank for proxies.
|
getServerAuth | static AuthenticationInfo getServerAuth(URL url)(Code) | | Returns info for the URL, for an HTTP server auth. Used when we
don't yet know the realm
(i.e. when we're preemptively setting the auth).
|
getServerAuth | static AuthenticationInfo getServerAuth(URL url, String realm, char atype)(Code) | | Returns info for the URL, for an HTTP server auth. Used when we
do know the realm (i.e. when we're responding to a challenge).
In this case we do not use the path because the protection space
is identified by the host:port:realm only
|
isAuthorizationStale | abstract boolean isAuthorizationStale(String header)(Code) | | Check if the header indicates that the current auth. parameters are stale.
If so, then replace the relevant field with the new value
and return true. Otherwise return false.
returning true means the request can be retried with the same userid/password
returning false means we have to go back to the user to ask for a new
username password.
|
printCache | static void printCache()(Code) | | |
removeFromCache | void removeFromCache()(Code) | | Remove this authentication from the cache
|
setHeaders | abstract boolean setHeaders(HttpURLConnection conn, HeaderParser p, String raw)(Code) | | Set header(s) on the given connection. Subclasses must override
This will only be called for
definitive (i.e. non-preemptive) authorization.
Parameters: conn - The connection to apply the header(s) to Parameters: p - A source of header values for this connection, if needed. Parameters: raw - The raw header field (if needed) true if all goes well, false if no headers were set. |
supportsPreemptiveAuthorization | abstract boolean supportsPreemptiveAuthorization()(Code) | | true if this authentication supports preemptive authorization |
|
|