Package org.apache.solr.security.hadoop
Class KerberosPlugin
- java.lang.Object
-
- org.apache.solr.security.AuthenticationPlugin
-
- org.apache.solr.security.hadoop.KerberosPlugin
-
- All Implemented Interfaces:
AutoCloseable,SolrInfoBean,SolrMetricProducer,HttpClientBuilderPlugin
public class KerberosPlugin extends AuthenticationPlugin implements HttpClientBuilderPlugin
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group
-
-
Field Summary
Fields Modifier and Type Field Description static StringCOOKIE_DOMAIN_PARAMstatic StringCOOKIE_PATH_PARAMstatic StringCOOKIE_PORT_AWARE_PARAMstatic StringDELEGATION_TOKEN_ENABLEDstatic StringDELEGATION_TOKEN_KINDstatic StringDELEGATION_TOKEN_SECRET_MANAGER_ZNODE_WORKING_PATHstatic StringDELEGATION_TOKEN_SECRET_PROVIDERstatic StringDELEGATION_TOKEN_SECRET_PROVIDER_ZK_PATHstatic StringDELEGATION_TOKEN_TYPE_DEFAULTstatic StringDELEGATION_TOKEN_VALIDITYstatic StringIMPERSONATOR_DO_AS_HTTP_PARAMstatic StringIMPERSONATOR_PREFIXstatic StringIMPERSONATOR_USER_NAMEstatic StringKEYTAB_PARAMstatic StringNAME_RULES_MECHANISM_PARAMstatic StringNAME_RULES_PARAMstatic StringORIGINAL_USER_PRINCIPAL_HEADERstatic StringPRINCIPAL_PARAMstatic StringTOKEN_VALID_PARAM-
Fields inherited from class org.apache.solr.security.AuthenticationPlugin
AUTHENTICATION_PLUGIN_PROP, HTTP_HEADER_X_SOLR_AUTHDATA, numAuthenticated, numErrors, numMissingCredentials, numPassThrough, numWrongCredentials, requests, requestTimes, solrMetricsContext, totalTime
-
-
Constructor Summary
Constructors Constructor Description KerberosPlugin(CoreContainer coreContainer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()booleandoAuthenticate(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse rsp, javax.servlet.FilterChain chain)org.apache.solr.client.solrj.impl.SolrHttpClientBuildergetHttpClientBuilder(org.apache.solr.client.solrj.impl.SolrHttpClientBuilder builder)protected javax.servlet.FilterConfiggetInitFilterConfig(Map<String,Object> pluginConfig, boolean skipKerberosChecking)protected javax.servlet.FiltergetKerberosFilter()voidinit(Map<String,Object> pluginConfig)booleaninterceptInternodeRequest(org.apache.http.HttpRequest httpRequest, org.apache.http.protocol.HttpContext httpContext)protected booleaninterceptInternodeRequest(org.eclipse.jetty.client.api.Request request)protected voidsetKerberosFilter(javax.servlet.Filter kerberosFilter)voidsetup(org.apache.solr.client.solrj.impl.Http2SolrClient client)-
Methods inherited from class org.apache.solr.security.AuthenticationPlugin
authenticate, closeRequest, getCategory, getDescription, getName, getSolrMetricsContext, initializeMetrics, wrapWithPrincipal, wrapWithPrincipal
-
-
-
-
Field Detail
-
NAME_RULES_PARAM
public static final String NAME_RULES_PARAM
- See Also:
- Constant Field Values
-
NAME_RULES_MECHANISM_PARAM
public static final String NAME_RULES_MECHANISM_PARAM
- See Also:
- Constant Field Values
-
COOKIE_DOMAIN_PARAM
public static final String COOKIE_DOMAIN_PARAM
- See Also:
- Constant Field Values
-
COOKIE_PATH_PARAM
public static final String COOKIE_PATH_PARAM
- See Also:
- Constant Field Values
-
PRINCIPAL_PARAM
public static final String PRINCIPAL_PARAM
- See Also:
- Constant Field Values
-
KEYTAB_PARAM
public static final String KEYTAB_PARAM
- See Also:
- Constant Field Values
-
TOKEN_VALID_PARAM
public static final String TOKEN_VALID_PARAM
- See Also:
- Constant Field Values
-
COOKIE_PORT_AWARE_PARAM
public static final String COOKIE_PORT_AWARE_PARAM
- See Also:
- Constant Field Values
-
IMPERSONATOR_PREFIX
public static final String IMPERSONATOR_PREFIX
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_ENABLED
public static final String DELEGATION_TOKEN_ENABLED
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_KIND
public static final String DELEGATION_TOKEN_KIND
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_VALIDITY
public static final String DELEGATION_TOKEN_VALIDITY
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_SECRET_PROVIDER
public static final String DELEGATION_TOKEN_SECRET_PROVIDER
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_SECRET_PROVIDER_ZK_PATH
public static final String DELEGATION_TOKEN_SECRET_PROVIDER_ZK_PATH
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_SECRET_MANAGER_ZNODE_WORKING_PATH
public static final String DELEGATION_TOKEN_SECRET_MANAGER_ZNODE_WORKING_PATH
- See Also:
- Constant Field Values
-
DELEGATION_TOKEN_TYPE_DEFAULT
public static final String DELEGATION_TOKEN_TYPE_DEFAULT
- See Also:
- Constant Field Values
-
IMPERSONATOR_DO_AS_HTTP_PARAM
public static final String IMPERSONATOR_DO_AS_HTTP_PARAM
- See Also:
- Constant Field Values
-
IMPERSONATOR_USER_NAME
public static final String IMPERSONATOR_USER_NAME
- See Also:
- Constant Field Values
-
ORIGINAL_USER_PRINCIPAL_HEADER
public static final String ORIGINAL_USER_PRINCIPAL_HEADER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
KerberosPlugin
public KerberosPlugin(CoreContainer coreContainer)
-
-
Method Detail
-
init
public void init(Map<String,Object> pluginConfig)
- Specified by:
initin classAuthenticationPlugin
-
getInitFilterConfig
protected javax.servlet.FilterConfig getInitFilterConfig(Map<String,Object> pluginConfig, boolean skipKerberosChecking)
-
doAuthenticate
public boolean doAuthenticate(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse rsp, javax.servlet.FilterChain chain) throws Exception- Specified by:
doAuthenticatein classAuthenticationPlugin- Throws:
Exception
-
interceptInternodeRequest
public boolean interceptInternodeRequest(org.apache.http.HttpRequest httpRequest, org.apache.http.protocol.HttpContext httpContext)- Overrides:
interceptInternodeRequestin classAuthenticationPlugin
-
interceptInternodeRequest
protected boolean interceptInternodeRequest(org.eclipse.jetty.client.api.Request request)
- Overrides:
interceptInternodeRequestin classAuthenticationPlugin
-
getHttpClientBuilder
public org.apache.solr.client.solrj.impl.SolrHttpClientBuilder getHttpClientBuilder(org.apache.solr.client.solrj.impl.SolrHttpClientBuilder builder)
- Specified by:
getHttpClientBuilderin interfaceHttpClientBuilderPlugin
-
setup
public void setup(org.apache.solr.client.solrj.impl.Http2SolrClient client)
- Specified by:
setupin interfaceHttpClientBuilderPlugin
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceSolrMetricProducer
-
getKerberosFilter
protected javax.servlet.Filter getKerberosFilter()
-
setKerberosFilter
protected void setKerberosFilter(javax.servlet.Filter kerberosFilter)
-
-