|
Apache Tomcat 7.0.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
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 String |
info
Descriptive information about this implementation. |
protected String |
key
Private key. |
protected static MD5Encoder |
md5Encoder
The MD5 helper object for this class. |
protected static MessageDigest |
md5Helper
MD5 message digest provider. |
Fields inherited from class org.apache.catalina.authenticator.AuthenticatorBase |
---|
algorithm, AUTH_HEADER_NAME, cache, changeSessionIdOnAuthentication, context, DEFAULT_ALGORITHM, digest, disableProxyCaching, entropy, random, randomClass, REALM_NAME, securePagesWithPragma, SESSION_ID_BYTES, sm, sso |
Fields inherited from class org.apache.catalina.valves.ValveBase |
---|
asyncSupported, container, containerLog, next |
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase |
---|
mserver |
Fields inherited from interface org.apache.catalina.Lifecycle |
---|
AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, DESTROY_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT |
Constructor Summary | |
---|---|
DigestAuthenticator()
|
Method Summary | |
---|---|
boolean |
authenticate(Request request,
HttpServletResponse response,
LoginConfig config)
Authenticate the user making this request, based on the specified login configuration. |
protected static Principal |
findPrincipal(Request request,
String authorization,
Realm realm)
Parse the specified authorization credentials, and return the associated Principal that these credentials authenticate (if any) from the specified Realm. |
protected String |
generateNOnce(Request request)
Generate a unique token. |
protected String |
getAuthMethod()
|
String |
getInfo()
Return descriptive information about this Valve implementation. |
protected String |
parseUsername(String authorization)
Parse the username from the specified authorization string. |
protected static String |
removeQuotes(String quotedString)
Removes the quotes on a string. |
protected static String |
removeQuotes(String quotedString,
boolean quotesRequired)
Removes the quotes on a string. |
protected void |
setAuthenticateHeader(HttpServletRequest request,
HttpServletResponse response,
LoginConfig config,
String nOnce)
Generates the WWW-Authenticate header. |
Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase |
---|
associate, doLogin, generateSessionId, getAlgorithm, getCache, getChangeSessionIdOnAuthentication, getContainer, getDigest, getDisableProxyCaching, getEntropy, getRandom, getRandomClass, getSecurePagesWithPragma, invoke, login, logout, reauthenticateFromSSO, register, setAlgorithm, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setEntropy, setRandomClass, setSecurePagesWithPragma, startInternal, stopInternal |
Methods inherited from class org.apache.catalina.valves.ValveBase |
---|
backgroundProcess, event, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setNext, toString |
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase |
---|
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister |
Methods inherited from class org.apache.catalina.util.LifecycleBase |
---|
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop |
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 String info
protected static volatile MessageDigest md5Helper
protected String key
Constructor Detail |
---|
public DigestAuthenticator()
Method Detail |
---|
public String getInfo()
getInfo
in interface Valve
getInfo
in class AuthenticatorBase
public boolean authenticate(Request request, HttpServletResponse response, LoginConfig config) throws IOException
true
if any specified
constraint has been satisfied, or false
if we have
created a response challenge already.
authenticate
in interface Authenticator
authenticate
in class AuthenticatorBase
request
- Request we are processingresponse
- Response we are creatingconfig
- Login configuration describing how authentication
should be performed
IOException
- if an input/output error occursprotected String getAuthMethod()
getAuthMethod
in class AuthenticatorBase
protected static Principal findPrincipal(Request request, String authorization, Realm realm)
null
.
request
- HTTP servlet requestauthorization
- Authorization credentials from this requestrealm
- Realm used to authenticate Principalsprotected String parseUsername(String authorization)
null
authorization
- Authorization string to be parsedprotected static String removeQuotes(String quotedString, boolean quotesRequired)
protected static String removeQuotes(String quotedString)
protected String generateNOnce(Request request)
request
- HTTP Servlet requestprotected void setAuthenticateHeader(HttpServletRequest request, HttpServletResponse response, LoginConfig config, String nOnce)
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 token
|
Apache Tomcat 7.0.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |