public class AuthenticationInfo extends HashMap<String,Object>
AuthenticationInfo
conveys any authentication credentials
and/or details extracted by the
AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
method from the request.
AuthenticationHandler
implementations must return instances of this
class which may be constructed through any of the provided public
constructors.
Internally all values are stored in the map where some property names have
special semantics and the data type of the properties are ensured by the
put(String, Object)
method implementation.
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Modifier and Type | Field and Description |
---|---|
static String |
AUTH_TYPE
The name of the special property providing the authentication type
provided by the
AuthenticationHandler . |
static AuthenticationInfo |
DOING_AUTH
A special instance of this class which may be returned from the
AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
method to inform the caller, that a response has been sent to the client
to request for credentials. |
static AuthenticationInfo |
FAIL_AUTH
A special instance of this class which may be returned from the
AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
method to inform the caller that credential extraction failed for some
reason. |
Constructor and Description |
---|
AuthenticationInfo(String authType)
Creates an instance of this class with just the authentication type.
|
AuthenticationInfo(String authType,
String userId)
Creates an instance of this class authenticating with the given type and
userid.
|
AuthenticationInfo(String authType,
String userId,
char[] password)
Creates an instance of this class authenticating with the given type and
userid/password connecting.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears all properties from the map with the exception of the
AUTH_TYPE property. |
String |
getAuthType()
Returns the authentication type stored as the
AUTH_TYPE property
in this map. |
char[] |
getPassword()
Returns the password stored as the
ResourceResolverFactory.PASSWORD property or
null if the password is not set in this map. |
String |
getUser()
Returns the user name stored as the
ResourceResolverFactory.USER property or
null if the user is not set in this map. |
Object |
put(String key,
Object value)
Sets or resets a property with the given
key to a new
value . |
Object |
remove(Object key)
Removes the entry with the given
key and returns its former
value (if existing). |
void |
setAuthType(String authType) |
void |
setPassword(char[] password) |
void |
setUser(String user) |
clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll, size, values
equals, hashCode, toString
public static final AuthenticationInfo DOING_AUTH
AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
method to inform the caller, that a response has been sent to the client
to request for credentials.
If this value is returned, the request should be considered finished and no further actions should be taken on this request.
public static final AuthenticationInfo FAIL_AUTH
AuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
method to inform the caller that credential extraction failed for some
reason.
If this value is returned, the handler signals that credentials would be present in the request but the credentials are not valid for use (for example OpenID identify failed to validate or some authentication cookie expired).
public static final String AUTH_TYPE
AuthenticationHandler
. This value must be
supplied to one of the constructors and is ultimately used as the value
of the HttpServletRequest.getAuthType
method.
This property is always present (and cannot be removed) in this map and
is of String
type.
public AuthenticationInfo(String authType)
authType
- The authentication type, must not be null
.public AuthenticationInfo(String authType, String userId)
authType
- The authentication type, must not be null
.userId
- The name of the user to authenticate as. This may be
null
for the constructor and later be set.NullPointerException
- if authType
is
null
.public AuthenticationInfo(String authType, String userId, char[] password)
authType
- The authentication type, must not be null
.userId
- The name of the user to authenticate as. This may be
null
for the constructor and later be set.password
- The password to authenticate with or null
if
no password can be supplied.NullPointerException
- if authType
is
null
.public final void setAuthType(String authType)
authType
- The authentication type to set. If this is
null
the current authentication type is not
replaced.public final String getAuthType()
AUTH_TYPE
property
in this map. This value is expected to never be null
.
If authentication is taking place through one of the standard ways, such
as Basic or Digest, the return value is one of the predefined constants
of the HttpServletRequest
interface. Otherwise the value may
be specific to the AuthenticationHandler
implementation.
public final void setUser(String user)
user
- The name of the user to authenticate as. If this is
null
the current user name is not replaced.public final String getUser()
ResourceResolverFactory.USER
property or
null
if the user is not set in this map.public final void setPassword(char[] password)
password
- The password to authenticate with. If this is
null
the current password is not replaced.public final char[] getPassword()
ResourceResolverFactory.PASSWORD
property or
null
if the password is not set in this map.public Object put(String key, Object value)
key
to a new
value
. Some keys have special meanings and their values are
required to have predefined as listed in the following table:
AUTH_TYPE |
String |
ResourceResolverFactory.USER |
String |
ResourceResolverFactory.PASSWORD |
char[] |
If the value for the special key does not match the required type an
IllegalArgumentException
is thrown.
put
in interface Map<String,Object>
put
in class HashMap<String,Object>
key
- The name of the property to setvalue
- The value of the property which must be of a special type if
the key
designates one of the predefined
properties.key
.IllegalArgumentException
- if key
designates one of
the special properties and the value
does not
have the correct type for the respective key.public Object remove(Object key)
key
and returns its former
value (if existing). If the key
is AUTH_TYPE
the
value is not actually removed and null
is always returned.Copyright © 2017 The Apache Software Foundation. All rights reserved.