Class CurrentWindowsIdentityAuthenticator
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.valves.ValveBase
org.apache.catalina.authenticator.AuthenticatorBase
net.sf.michaelo.tomcat.authenticator.CurrentWindowsIdentityAuthenticator
- All Implemented Interfaces:
MBeanRegistration,RegistrationListener,Authenticator,Contained,JmxEnabled,Lifecycle,Valve
A Windows Identity Authenticator which uses GSS-API to retrieve to currently logged in user.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.catalina.authenticator.AuthenticatorBase
AuthenticatorBase.AllowCorsPreflightNested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringprotected static final Oidprotected final Logprotected final StringManagerprotected static final OidFields 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, ssoFields inherited from class org.apache.catalina.valves.ValveBase
asyncSupported, container, containerLog, nextFields inherited from class org.apache.catalina.util.LifecycleMBeanBase
mserverFields 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected booleandoAuthenticate(Request request, HttpServletResponse response) protected StringReturns the configured login entry name.booleanIndicates whether error messages will be responded as headers.booleanIndicates whether error messages are responded to the client.booleanIndicates whether client's (initiator's) delegated credential is stored in the user principal.protected voidrespondErrorMessage(Request request, HttpServletResponse response, int statusCode, String messageKey, Object... params) protected voidsendInternalServerError(Request request, HttpServletResponse response, String messageKey, Object... params) protected voidsendUnauthorized(Request request, HttpServletResponse response, String scheme) protected voidsendUnauthorized(Request request, HttpServletResponse response, String scheme, String messageKey, Object... params) voidsetErrorMessagesAsHeaders(boolean errorMessagesAsHeaders) Sets whether error messages will be returned as headers.voidsetLoginEntryName(String loginEntryName) Sets the login entry name which establishes the security context.voidsetOmitErrorMessages(boolean omitErrorMessages) Sets whether error messages are responded to the client.voidsetStoreDelegatedCredential(boolean storeDelegatedCredential) Sets whether client's (initiator's) delegated credential is stored in the user principal.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, invoke, isContinuationRequired, isPreemptiveAuthPossible, isSendAuthInfoResponseHeaders, login, logout, notify, reauthenticateFromSSO, register, register, setAllowCorsPreflight, setAlwaysUseSession, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setJaspicCallbackHandlerClass, setSecurePagesWithPragma, setSecureRandomAlgorithm, setSecureRandomClass, setSecureRandomProvider, setSendAuthInfoResponseHeaders, startInternal, stopInternalMethods inherited from class org.apache.catalina.valves.ValveBase
backgroundProcess, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setNext, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
destroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Field Details
-
CURRENT_WINDOWS_IDENTITY_METHOD
- See Also:
-
CURRENT_WINDOWS_IDENTITY_AUTH_SCHEME
- See Also:
-
logger
-
sm
-
KRB5_MECHANISM
-
SPNEGO_MECHANISM
-
-
Constructor Details
-
CurrentWindowsIdentityAuthenticator
public CurrentWindowsIdentityAuthenticator()
-
-
Method Details
-
doAuthenticate
- Specified by:
doAuthenticatein classAuthenticatorBase- Throws:
IOException
-
getAuthMethod
- Specified by:
getAuthMethodin classAuthenticatorBase
-
setLoginEntryName
Sets the login entry name which establishes the security context.- Parameters:
loginEntryName- the login entry name
-
getLoginEntryName
Returns the configured login entry name.- Returns:
- the login entry name
-
isOmitErrorMessages
public boolean isOmitErrorMessages()Indicates whether error messages are responded to the client.- Returns:
- indicator for error message omission
-
setOmitErrorMessages
public void setOmitErrorMessages(boolean omitErrorMessages) Sets whether error messages are responded to the client.- Parameters:
omitErrorMessages- indicator to error omit messages
-
isErrorMessagesAsHeaders
public boolean isErrorMessagesAsHeaders()Indicates whether error messages will be responded as headers.- Returns:
- indicates whether error messages will be responded as headers
-
setErrorMessagesAsHeaders
public void setErrorMessagesAsHeaders(boolean errorMessagesAsHeaders) Sets whether error messages will be returned as headers.It is not always desired or necessary to produce an error page, e.g., non-interactive clients do not analyze it anyway, but have to consume the response (wasted time and resources). When a client issues a request, the server will write the error messages to either one header:
Auth-ErrororServer-Error.Technically speaking,
HttpServletResponse.setStatus(int)will be called instead ofHttpServletResponse.sendError(int, String).- Parameters:
errorMessagesAsHeaders- indicates whether error messages will be responded as headers
-
isStoreDelegatedCredential
public boolean isStoreDelegatedCredential()Indicates whether client's (initiator's) delegated credential is stored in the user principal.- Returns:
- indicates whether client's (initiator's) delegated credential is stored in the user principal.
-
setStoreDelegatedCredential
public void setStoreDelegatedCredential(boolean storeDelegatedCredential) Sets whether client's (initiator's) delegated credential is stored in the user principal.- Parameters:
storeDelegatedCredential- the store delegated credential indication
-
respondErrorMessage
protected void respondErrorMessage(Request request, HttpServletResponse response, int statusCode, String messageKey, Object... params) throws IOException - Throws:
IOException
-
sendInternalServerError
protected void sendInternalServerError(Request request, HttpServletResponse response, String messageKey, Object... params) throws IOException - Throws:
IOException
-
sendUnauthorized
protected void sendUnauthorized(Request request, HttpServletResponse response, String scheme) throws IOException - Throws:
IOException
-
sendUnauthorized
protected void sendUnauthorized(Request request, HttpServletResponse response, String scheme, String messageKey, Object... params) throws IOException - Throws:
IOException
-