AuthenticationHandlerAltKerberosAuthenticationHandlerpublic class KerberosAuthenticationHandler extends java.lang.Object implements AuthenticationHandler
KerberosAuthenticationHandler implements the Kerberos SPNEGO
authentication mechanism for HTTP.
The supported configuration properties are:
HTTP/${HOSTNAME}@{REALM}. The realm can be omitted from the
principal as the JDK GSS libraries will use the realm name of the configured
default realm.
It does not have a default value.KerberosName.setRules(String)| Modifier and Type | Field | Description |
|---|---|---|
static java.lang.String |
KEYTAB |
Constant for the configuration property that indicates the keytab
file path.
|
static org.slf4j.Logger |
LOG |
|
static java.lang.String |
NAME_RULES |
Constant for the configuration property that indicates the Kerberos name
rules for the Kerberos principals.
|
static java.lang.String |
PRINCIPAL |
Constant for the configuration property that indicates the kerberos
principal.
|
static java.lang.String |
RULE_MECHANISM |
Constant for the configuration property that indicates how auth_to_local
rules are evaluated.
|
static java.lang.String |
TYPE |
Constant that identifies the authentication mechanism.
|
WWW_AUTHENTICATE| Constructor | Description |
|---|---|
KerberosAuthenticationHandler() |
Creates a Kerberos SPNEGO authentication handler with the default
auth-token type,
kerberos. |
KerberosAuthenticationHandler(java.lang.String type) |
Creates a Kerberos SPNEGO authentication handler with a custom auth-token
type.
|
| Modifier and Type | Method | Description |
|---|---|---|
AuthenticationToken |
authenticate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
It enforces the the Kerberos SPNEGO authentication sequence returning an
AuthenticationToken only after the Kerberos SPNEGO sequence has
completed successfully. |
void |
destroy() |
Releases any resources initialized by the authentication handler.
|
protected java.lang.String |
getKeytab() |
Returns the keytab used by the authentication handler.
|
protected java.util.Set<javax.security.auth.kerberos.KerberosPrincipal> |
getPrincipals() |
Returns the Kerberos principals used by the authentication handler.
|
java.lang.String |
getType() |
Returns the authentication type of the authentication handler, 'kerberos'.
|
void |
init(java.util.Properties config) |
Initializes the authentication handler instance.
|
boolean |
managementOperation(AuthenticationToken token,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
This is an empty implementation, it always returns
TRUE. |
public static final org.slf4j.Logger LOG
public static final java.lang.String TYPE
public static final java.lang.String PRINCIPAL
public static final java.lang.String KEYTAB
public static final java.lang.String NAME_RULES
public static final java.lang.String RULE_MECHANISM
public KerberosAuthenticationHandler()
kerberos.public KerberosAuthenticationHandler(java.lang.String type)
type - auth-token type.public void init(java.util.Properties config)
throws javax.servlet.ServletException
It creates a Kerberos context using the principal and keytab specified in the configuration.
This method is invoked by the AuthenticationFilter.init(javax.servlet.FilterConfig) method.
init in interface AuthenticationHandlerconfig - configuration properties to initialize the handler.javax.servlet.ServletException - thrown if the handler could not be initialized.public void destroy()
It destroys the Kerberos context.
destroy in interface AuthenticationHandlerpublic java.lang.String getType()
getType in interface AuthenticationHandlerprotected java.util.Set<javax.security.auth.kerberos.KerberosPrincipal> getPrincipals()
protected java.lang.String getKeytab()
public boolean managementOperation(AuthenticationToken token, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, AuthenticationException
TRUE.managementOperation in interface AuthenticationHandlertoken - the authentication token if any, otherwise NULL.request - the HTTP client request.response - the HTTP client response.TRUEjava.io.IOException - it is never thrown.AuthenticationException - it is never thrown.public AuthenticationToken authenticate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, AuthenticationException
AuthenticationToken only after the Kerberos SPNEGO sequence has
completed successfully.authenticate in interface AuthenticationHandlerrequest - the HTTP client request.response - the HTTP client response.null if it is in progress (in this case the handler
handles the response to the client).java.io.IOException - thrown if an IO error occurred.AuthenticationException - thrown if Kerberos SPNEGO sequence failed.Copyright © 2008–2025 Apache Software Foundation. All rights reserved.