|
Apache Tomcat 6.0.53 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.catalina.valves.ValveBase org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.authenticator.DigestAuthenticator
public class DigestAuthenticator
An Authenticator and Valve implementation of HTTP DIGEST Authentication (see RFC 2069).
Field Summary | |
---|---|
protected static java.lang.String |
info
Descriptive information about this implementation. |
protected java.lang.String |
key
Private key. |
protected static MD5Encoder |
md5Encoder
The MD5 helper object for this class. |
protected static java.security.MessageDigest |
md5Helper
MD5 message digest provider. |
protected int |
nonceCacheSize
Maximum number of server nonces to keep in the cache. |
protected java.util.Map<java.lang.String,org.apache.catalina.authenticator.DigestAuthenticator.NonceInfo> |
nonces
List of server nonce values currently being tracked |
protected long |
nonceValidity
How long server nonces are valid for in milliseconds. |
protected java.lang.String |
opaque
Opaque string. |
protected static java.lang.String |
QOP
Tomcat's DIGEST implementation only supports auth quality of protection. |
protected boolean |
validateUri
Should the URI be validated as required by RFC2617? |
Fields inherited from class org.apache.catalina.authenticator.AuthenticatorBase |
---|
algorithm, cache, changeSessionIdOnAuthentication, context, DEFAULT_ALGORITHM, digest, disableProxyCaching, entropy, lifecycle, random, randomClass, REALM_NAME, securePagesWithPragma, SESSION_ID_BYTES, sm, sso, started |
Fields inherited from class org.apache.catalina.valves.ValveBase |
---|
container, containerLog, controller, domain, mserver, next, oname |
Fields inherited from interface org.apache.catalina.Lifecycle |
---|
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, DESTROY_EVENT, INIT_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT |
Constructor Summary | |
---|---|
DigestAuthenticator()
|
Method Summary | |
---|---|
boolean |
authenticate(Request request,
Response response,
LoginConfig config)
Authenticate the user making this request, based on the specified login configuration. |
protected java.lang.String |
generateNonce(Request request)
Generate a unique token. |
java.lang.String |
getInfo()
Return descriptive information about this Valve implementation. |
java.lang.String |
getKey()
|
int |
getNonceCacheSize()
|
long |
getNonceValidity()
|
java.lang.String |
getOpaque()
|
boolean |
isValidateUri()
|
protected java.lang.String |
parseUsername(java.lang.String authorization)
Deprecated. Unused. Will be removed in Tomcat 8.0.x |
protected static java.lang.String |
removeQuotes(java.lang.String quotedString)
Removes the quotes on a string. |
protected static java.lang.String |
removeQuotes(java.lang.String quotedString,
boolean quotesRequired)
Removes the quotes on a string. |
protected void |
setAuthenticateHeader(Request request,
Response response,
LoginConfig config,
java.lang.String nonce,
boolean isNonceStale)
Generates the WWW-Authenticate header. |
void |
setKey(java.lang.String key)
|
void |
setNonceCacheSize(int nonceCacheSize)
|
void |
setNonceValidity(long nonceValidity)
|
void |
setOpaque(java.lang.String opaque)
|
void |
setValidateUri(boolean validateUri)
|
void |
start()
Prepare for the beginning of active use of the public methods of this component. |
Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase |
---|
addLifecycleListener, associate, findLifecycleListeners, generateSessionId, getAlgorithm, getCache, getChangeSessionIdOnAuthentication, getContainer, getDigest, getDisableProxyCaching, getEntropy, getRandom, getRandomClass, getSecurePagesWithPragma, invoke, reauthenticateFromSSO, register, removeLifecycleListener, setAlgorithm, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setEntropy, setRandomClass, setSecurePagesWithPragma, stop |
Methods inherited from class org.apache.catalina.valves.ValveBase |
---|
backgroundProcess, createObjectName, event, getContainerName, getController, getDomain, getNext, getObjectName, getParentName, postDeregister, postRegister, preDeregister, preRegister, setController, setNext, setObjectName, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final MD5Encoder md5Encoder
protected static final java.lang.String info
protected static final java.lang.String QOP
protected static java.security.MessageDigest md5Helper
protected java.util.Map<java.lang.String,org.apache.catalina.authenticator.DigestAuthenticator.NonceInfo> nonces
protected int nonceCacheSize
protected java.lang.String key
protected long nonceValidity
protected java.lang.String opaque
protected boolean validateUri
Constructor Detail |
---|
public DigestAuthenticator()
Method Detail |
---|
public java.lang.String getInfo()
getInfo
in interface Valve
getInfo
in class AuthenticatorBase
public int getNonceCacheSize()
public void setNonceCacheSize(int nonceCacheSize)
public java.lang.String getKey()
public void setKey(java.lang.String key)
public long getNonceValidity()
public void setNonceValidity(long nonceValidity)
public java.lang.String getOpaque()
public void setOpaque(java.lang.String opaque)
public boolean isValidateUri()
public void setValidateUri(boolean validateUri)
public boolean authenticate(Request request, Response response, LoginConfig config) throws java.io.IOException
true
if any specified
constraint has been satisfied, or false
if we have
created a response challenge already.
authenticate
in class AuthenticatorBase
request
- Request we are processingresponse
- Response we are creatingconfig
- Login configuration describing how authentication
should be performed
java.io.IOException
- if an input/output error occurs@Deprecated protected java.lang.String parseUsername(java.lang.String authorization)
null
authorization
- Authorization string to be parsedprotected static java.lang.String removeQuotes(java.lang.String quotedString, boolean quotesRequired)
protected static java.lang.String removeQuotes(java.lang.String quotedString)
protected java.lang.String generateNonce(Request request)
request
- HTTP Servlet requestprotected void setAuthenticateHeader(Request request, Response response, LoginConfig config, java.lang.String nonce, boolean isNonceStale)
The header MUST follow this template :
WWW-Authenticate = "WWW-Authenticate" ":" "Digest" digest-challenge digest-challenge = 1#( realm | [ domain ] | nonce | [ digest-opaque ] |[ stale ] | [ algorithm ] ) realm = "realm" "=" realm-value realm-value = quoted-string domain = "domain" "=" <"> 1#URI <"> nonce = "nonce" "=" nonce-value nonce-value = quoted-string opaque = "opaque" "=" quoted-string stale = "stale" "=" ( "true" | "false" ) algorithm = "algorithm" "=" ( "MD5" | token )
request
- HTTP Servlet requestresponse
- HTTP Servlet responseconfig
- Login configuration describing how authentication
should be performednonce
- nonce tokenpublic void start() throws LifecycleException
AuthenticatorBase
configure()
,
and before any of the public methods of the component are utilized.
start
in interface Lifecycle
start
in class AuthenticatorBase
LifecycleException
- if this component detects a fatal error
that prevents this component from being used
|
Apache Tomcat 6.0.53 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |