Class SpnegoAuthenticator
- java.lang.Object
-
- org.apache.catalina.util.LifecycleBase
-
- org.apache.catalina.util.LifecycleMBeanBase
-
- org.apache.catalina.valves.ValveBase
-
- org.apache.catalina.authenticator.AuthenticatorBase
-
- org.apache.catalina.authenticator.SpnegoAuthenticator
-
- All Implemented Interfaces:
RegistrationListener,javax.management.MBeanRegistration,Authenticator,Contained,JmxEnabled,Lifecycle,Valve
public class SpnegoAuthenticator extends AuthenticatorBase
A SPNEGO authenticator that uses the SPNEGO/Kerberos support built in to Java 6. Successful Kerberos authentication depends on the correct configuration of multiple components. If the configuration is invalid, the error messages are often cryptic although a Google search will usually point you in the right direction.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.catalina.authenticator.AuthenticatorBase
AuthenticatorBase.AllowCorsPreflight, AuthenticatorBase.SsoReauthenticationMode
-
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
-
Field Summary
-
Fields inherited from class org.apache.catalina.authenticator.AuthenticatorBase
alwaysUseSession, AUTH_HEADER_NAME, cache, changeSessionIdOnAuthentication, context, disableProxyCaching, jaspicCallbackHandlerClass, REALM_NAME, securePagesWithPragma, secureRandomAlgorithm, secureRandomClass, secureRandomProvider, sendAuthInfoResponseHeaders, sessionIdGenerator, sm, sso
-
Fields inherited from class org.apache.catalina.valves.ValveBase
asyncSupported, container, containerLog, next
-
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
-
-
Constructor Summary
Constructors Constructor Description SpnegoAuthenticator()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected booleandoAuthenticate(Request request, HttpServletResponse response)Provided for subclasses to implement their specific authentication mechanism.booleangetApplyJava8u40Fix()Deprecated.This method will be removed from Tomcat 12 onwards.protected java.lang.StringgetAuthMethod()Return the authentication method, which is vendor-specific and not defined by HttpServletRequest.java.lang.StringgetLoginConfigName()java.lang.StringgetNoKeepAliveUserAgents()protected voidinitInternal()Subclasses implement this method to perform any instance initialisation required.protected booleanisPreemptiveAuthPossible(Request request)Can the authenticator perform preemptive authentication for the given request?booleanisStoreDelegatedCredential()voidsetApplyJava8u40Fix(boolean applyJava8u40Fix)Deprecated.This method will be removed from Tomcat 12 onwards.voidsetLoginConfigName(java.lang.String loginConfigName)voidsetNoKeepAliveUserAgents(java.lang.String noKeepAliveUserAgents)voidsetStoreDelegatedCredential(boolean storeDelegatedCredential)-
Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase
allowCorsPreflightBypass, associate, authenticate, changeSessionID, checkForCachedAuthentication, doLogin, getAllowCorsPreflight, getAlwaysUseSession, getCache, getChangeSessionIdOnAuthentication, getContainer, getDisableProxyCaching, getJaspicCallbackHandlerClass, getRealmName, getSecurePagesWithPragma, getSecureRandomAlgorithm, getSecureRandomClass, getSecureRandomProvider, getSsoReauthenticationMode, invoke, isContinuationRequired, isSendAuthInfoResponseHeaders, login, logout, notify, reauthenticateFromSSO, register, register, setAllowCorsPreflight, setAlwaysUseSession, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setJaspicCallbackHandlerClass, setSecurePagesWithPragma, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSendAuthInfoResponseHeaders, setSsoReauthenticationMode, startInternal, stopInternal
-
Methods inherited from class org.apache.catalina.valves.ValveBase
backgroundProcess, getDomainInternal, getNext, getObjectNameKeyProperties, isAsyncSupported, setAsyncSupported, setNext, toString
-
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
-
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
-
-
-
Method Detail
-
getLoginConfigName
public java.lang.String getLoginConfigName()
-
setLoginConfigName
public void setLoginConfigName(java.lang.String loginConfigName)
-
isStoreDelegatedCredential
public boolean isStoreDelegatedCredential()
-
setStoreDelegatedCredential
public void setStoreDelegatedCredential(boolean storeDelegatedCredential)
-
getNoKeepAliveUserAgents
public java.lang.String getNoKeepAliveUserAgents()
-
setNoKeepAliveUserAgents
public void setNoKeepAliveUserAgents(java.lang.String noKeepAliveUserAgents)
-
getApplyJava8u40Fix
@Deprecated public boolean getApplyJava8u40Fix()
Deprecated.This method will be removed from Tomcat 12 onwards.This attribute is now hard-coded tofalseas the work-around this attribute enabled is no longer required.- Returns:
- Always
false
-
setApplyJava8u40Fix
@Deprecated public void setApplyJava8u40Fix(boolean applyJava8u40Fix)
Deprecated.This method will be removed from Tomcat 12 onwards.This method is now a NO-OP as the work-around this attribute enabled is no longer required.- Parameters:
applyJava8u40Fix- Ignored
-
getAuthMethod
protected java.lang.String getAuthMethod()
Description copied from class:AuthenticatorBaseReturn the authentication method, which is vendor-specific and not defined by HttpServletRequest.- Specified by:
getAuthMethodin classAuthenticatorBase- Returns:
- the authentication method, which is vendor-specific and not defined by HttpServletRequest.
-
initInternal
protected void initInternal() throws LifecycleExceptionDescription copied from class:LifecycleBaseSubclasses implement this method to perform any instance initialisation required.- Overrides:
initInternalin classValveBase- Throws:
LifecycleException- If the initialisation fails
-
doAuthenticate
protected boolean doAuthenticate(Request request, HttpServletResponse response) throws java.io.IOException
Description copied from class:AuthenticatorBaseProvided for subclasses to implement their specific authentication mechanism.- Specified by:
doAuthenticatein classAuthenticatorBase- Parameters:
request- The request that triggered the authenticationresponse- The response associated with the request- Returns:
trueif the user was authenticated, otherwisefalse, in which case an authentication challenge will have been written to the response- Throws:
java.io.IOException- If an I/O problem occurred during the authentication process
-
isPreemptiveAuthPossible
protected boolean isPreemptiveAuthPossible(Request request)
Description copied from class:AuthenticatorBaseCan the authenticator perform preemptive authentication for the given request?- Overrides:
isPreemptiveAuthPossiblein classAuthenticatorBase- Parameters:
request- The request to check for credentials- Returns:
trueif preemptive authentication is possible, otherwisefalse
-
-