Class AuthenticationInfo
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<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.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,
V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The name of the special property providing the authentication type provided by theAuthenticationHandler
.static final AuthenticationInfo
A special instance of this class which may be returned from theAuthenticationHandler.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 final AuthenticationInfo
A special instance of this class which may be returned from theAuthenticationHandler.extractCredentials(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
method to inform the caller that credential extraction failed for some reason. -
Constructor Summary
ConstructorDescriptionAuthenticationInfo
(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. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clears all properties from the map with the exception of theAUTH_TYPE
property.final String
Returns the authentication type as stored in theAUTH_TYPE
property in this map.final char[]
Returns the password stored as theResourceResolverFactory.PASSWORD
property ornull
if the password is not set in this map.final String
getUser()
Returns the user name stored as theResourceResolverFactory.USER
property ornull
if the user is not set in this map.Sets or resets a property with the givenkey
to a newvalue
.Removes the entry with the givenkey
and returns its former value (if existing).final void
setAuthType
(String authType) final void
setPassword
(char[] password) final void
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, putAll, putIfAbsent, remove, replace, replace, replaceAll, size, values
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
-
Field Details
-
DOING_AUTH
A special instance of this class which may be returned from theAuthenticationHandler.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.
-
FAIL_AUTH
A special instance of this class which may be returned from theAuthenticationHandler.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).
-
AUTH_TYPE
The name of the special property providing the authentication type provided by theAuthenticationHandler
. This value must be supplied to one of the constructors and is ultimately used as the value of theHttpServletRequest.getAuthType
method.This property is always present (and cannot be removed) in this map and is of
String
type.- See Also:
-
-
Constructor Details
-
AuthenticationInfo
Creates an instance of this class with just the authentication type. To effectively use this instance the user Id with optional password and/or the credentials should be set.- Parameters:
authType
- The authentication type, must not benull
.
-
AuthenticationInfo
Creates an instance of this class authenticating with the given type and userid.- Parameters:
authType
- The authentication type, must not benull
.userId
- The name of the user to authenticate as. This may benull
for the constructor and later be set.- Throws:
NullPointerException
- ifauthType
isnull
.
-
AuthenticationInfo
Creates an instance of this class authenticating with the given type and userid/password connecting.- Parameters:
authType
- The authentication type, must not benull
.userId
- The name of the user to authenticate as. This may benull
for the constructor and later be set.password
- The password to authenticate with ornull
if no password can be supplied.- Throws:
NullPointerException
- ifauthType
isnull
.
-
-
Method Details
-
setAuthType
- Parameters:
authType
- The authentication type to set. If this isnull
the current authentication type is not replaced.
-
getAuthType
Returns the authentication type as stored in theAUTH_TYPE
property in this map. This value is expected to never benull
.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 theAuthenticationHandler
implementation.- Returns:
- The authentication type as stored in the
AUTH_TYPE
property.
-
setUser
- Parameters:
user
- The name of the user to authenticate as. If this isnull
the current user name is not replaced.
-
getUser
Returns the user name stored as theResourceResolverFactory.USER
property ornull
if the user is not set in this map.- Returns:
- The user name as stored in the
ResourceResolverFactory.USER
property.
-
setPassword
public final void setPassword(char[] password) - Parameters:
password
- The password to authenticate with. If this isnull
the current password is not replaced.
-
getPassword
public final char[] getPassword()Returns the password stored as theResourceResolverFactory.PASSWORD
property ornull
if the password is not set in this map.- Returns:
- the password as stored in the
ResourceResolverFactory.PASSWORD
property
-
put
Sets or resets a property with the givenkey
to a newvalue
. Some keys have special meanings and their values are required to have predefined as listed in the following table:Predefined Keys 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.- Specified by:
put
in interfaceMap<String,
Object> - Overrides:
put
in classHashMap<String,
Object> - Parameters:
key
- The name of the property to setvalue
- The value of the property which must be of a special type if thekey
designates one of the predefined properties.- Returns:
- The value previously set for the given
key
. - Throws:
IllegalArgumentException
- ifkey
designates one of the special properties and thevalue
does not have the correct type for the respective key.
-
remove
Removes the entry with the givenkey
and returns its former value (if existing). If thekey
isAUTH_TYPE
the value is not actually removed andnull
is always returned. -
clear
public void clear()Clears all properties from the map with the exception of theAUTH_TYPE
property.
-