本文整理了Java中org.elasticsearch.threadpool.ThreadPool.getThreadContext()
方法的一些代码示例,展示了ThreadPool.getThreadContext()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ThreadPool.getThreadContext()
方法的具体详情如下:
包路径:org.elasticsearch.threadpool.ThreadPool
类名称:ThreadPool
方法名:getThreadContext
暂无
代码示例来源:origin: floragunncom/search-guard
public SearchGuardFilter(final PrivilegesEvaluator evalp, final AdminDNs adminDns,
DlsFlsRequestValve dlsFlsValve, AuditLog auditLog, ThreadPool threadPool, ClusterService cs,
ComplianceConfig complianceConfig, final CompatConfig compatConfig) {
this.evalp = evalp;
this.adminDns = adminDns;
this.dlsFlsValve = dlsFlsValve;
this.auditLog = auditLog;
this.threadContext = threadPool.getThreadContext();
this.cs = cs;
this.complianceConfig = complianceConfig;
this.compatConfig = compatConfig;
}
代码示例来源:origin: floragunncom/search-guard
public SearchGuardNonSslHttpServerTransport(final Settings settings, final NetworkService networkService, final BigArrays bigArrays,
final ThreadPool threadPool, final NamedXContentRegistry namedXContentRegistry, final Dispatcher dispatcher) {
super(settings, networkService, bigArrays, threadPool, namedXContentRegistry, dispatcher);
this.threadContext = threadPool.getThreadContext();
}
代码示例来源:origin: floragunncom/search-guard
public XFFResolver(final ThreadPool threadPool) {
super();
this.threadContext = threadPool.getThreadContext();
}
代码示例来源:origin: floragunncom/search-guard
public SearchGuardRestFilter(final BackendRegistry registry, final AuditLog auditLog,
final ThreadPool threadPool, final PrincipalExtractor principalExtractor,
final Settings settings, final Path configPath, final CompatConfig compatConfig) {
super();
this.registry = registry;
this.auditLog = auditLog;
this.threadContext = threadPool.getThreadContext();
this.principalExtractor = principalExtractor;
this.settings = settings;
this.configPath = configPath;
this.compatConfig = compatConfig;
}
代码示例来源:origin: floragunncom/search-guard
protected final ThreadContext getThreadContext() {
return threadPool.getThreadContext();
}
}
代码示例来源:origin: floragunncom/search-guard
private ThreadContext getThreadContext() {
return threadPool.getThreadContext();
}
代码示例来源:origin: floragunncom/search-guard
public TenantInfoAction(final Settings settings, final RestController controller,
final PrivilegesEvaluator evaluator, final ThreadPool threadPool, final ClusterService clusterService, final AdminDNs adminDns) {
super(settings);
this.threadContext = threadPool.getThreadContext();
this.evaluator = evaluator;
this.clusterService = clusterService;
this.adminDns = adminDns;
controller.registerHandler(GET, "/_searchguard/tenantinfo", this);
controller.registerHandler(POST, "/_searchguard/tenantinfo", this);
}
代码示例来源:origin: floragunncom/search-guard
public SearchGuardInfoAction(final Settings settings, final RestController controller, final PrivilegesEvaluator evaluator, final ThreadPool threadPool) {
super(settings);
this.threadContext = threadPool.getThreadContext();
this.evaluator = evaluator;
controller.registerHandler(GET, "/_searchguard/authinfo", this);
controller.registerHandler(POST, "/_searchguard/authinfo", this);
}
代码示例来源:origin: floragunncom/search-guard
public KibanaInfoAction(final Settings settings, final RestController controller, final PrivilegesEvaluator evaluator, final ThreadPool threadPool) {
super(settings);
this.threadContext = threadPool.getThreadContext();
this.evaluator = evaluator;
controller.registerHandler(GET, "/_searchguard/kibanainfo", this);
controller.registerHandler(POST, "/_searchguard/kibanainfo", this);
}
代码示例来源:origin: floragunncom/search-guard
@Override
protected void doExecute(WhoAmIRequest request, ActionListener<WhoAmIResponse> listener) {
final User user = threadPool.getThreadContext().getTransient(ConfigConstants.SG_USER);
final String dn = user==null?threadPool.getThreadContext().getTransient(ConfigConstants.SG_SSL_TRANSPORT_PRINCIPAL):user.getName();
final boolean isAdmin = adminDNs.isAdminDN(dn);
final boolean isAuthenticated = isAdmin?true: user != null;
final boolean isNodeCertificateRequest = HeaderHelper.isInterClusterRequest(threadPool.getThreadContext()) ||
HeaderHelper.isTrustedClusterRequest(threadPool.getThreadContext());
listener.onResponse(new WhoAmIResponse(dn, isAdmin, isAuthenticated, isNodeCertificateRequest));
}
}
代码示例来源:origin: floragunncom/search-guard
public SearchGuardIndexSearcherWrapper(final IndexService indexService, final Settings settings, final AdminDNs adminDNs) {
index = indexService.index();
threadContext = indexService.getThreadPool().getThreadContext();
this.searchguardIndex = settings.get(ConfigConstants.SEARCHGUARD_CONFIG_INDEX_NAME, ConfigConstants.SG_DEFAULT_CONFIG_INDEX);
this.adminDns = adminDNs;
}
代码示例来源:origin: floragunncom/search-guard
.deserializeSafeFromHeader(threadPool.getThreadContext(), ConfigConstants.SG_FLS_FIELDS_HEADER);
代码示例来源:origin: floragunncom/search-guard
String injectedUserString = threadPool.getThreadContext().getTransient(ConfigConstants.SG_INJECTED_USER);
InetAddress iAdress = InetAddress.getByName(ipAndPort[0]);
int port = Integer.parseInt(ipAndPort[1]);
threadPool.getThreadContext().putTransient(ConfigConstants.SG_REMOTE_ADDRESS, new TransportAddress(iAdress, port));
} catch (UnknownHostException | NumberFormatException e) {
log.error("Cannot parse remote IP or port: {}, user injection failed.", parts[2], e);
threadPool.getThreadContext().putTransient(ConfigConstants.SG_REMOTE_ADDRESS, xffResolver.resolve(request));
threadPool.getThreadContext().putTransient(ConfigConstants.SG_USER, user);
auditLog.logSucceededLogin(parts[0], true, null, request);
if (log.isTraceEnabled()) {
代码示例来源:origin: floragunncom/search-guard
@Override
public Map<String, Supplier<HttpServerTransport>> getHttpTransports(Settings settings, ThreadPool threadPool, BigArrays bigArrays,
CircuitBreakerService circuitBreakerService, NamedWriteableRegistry namedWriteableRegistry,
NamedXContentRegistry xContentRegistry, NetworkService networkService, Dispatcher dispatcher) {
if(sslOnly) {
return super.getHttpTransports(settings, threadPool, bigArrays, circuitBreakerService, namedWriteableRegistry, xContentRegistry, networkService, dispatcher);
}
Map<String, Supplier<HttpServerTransport>> httpTransports = new HashMap<String, Supplier<HttpServerTransport>>(1);
if(!disabled) {
if (!client && httpSSLEnabled && !tribeNodeClient) {
final ValidatingDispatcher validatingDispatcher = new ValidatingDispatcher(threadPool.getThreadContext(), dispatcher,
settings, configPath, evaluateSslExceptionHandler());
//TODO close sghst
final SearchGuardHttpServerTransport sghst = new SearchGuardHttpServerTransport(settings, networkService, bigArrays,
threadPool, sgks, evaluateSslExceptionHandler(), xContentRegistry, validatingDispatcher);
httpTransports.put("com.floragunn.searchguard.http.SearchGuardHttpServerTransport",
() -> sghst);
} else if (!client && !tribeNodeClient) {
httpTransports.put("com.floragunn.searchguard.http.SearchGuardHttpServerTransport",
() -> new SearchGuardNonSslHttpServerTransport(settings, networkService, bigArrays, threadPool, xContentRegistry, dispatcher));
}
}
return httpTransports;
}
代码示例来源:origin: floragunncom/search-guard
public Map<String, Tuple<Long, Settings>> loadConfigurations(Collection<String> configTypes, boolean logComplianceEvent) {
final ThreadContext threadContext = threadPool.getThreadContext();
final Map<String, Tuple<Long, Settings>> retVal = new HashMap<String, Tuple<Long, Settings>>();
代码示例来源:origin: floragunncom/search-guard
public PrivilegesEvaluatorResponse evaluate(final ClusterService clusterService, final IndexNameExpressionResolver resolver, final Resolved requestedResolved, final User user,
final SgRoles sgRoles, final PrivilegesEvaluatorResponse presponse) {
ThreadContext threadContext = threadPool.getThreadContext();
代码示例来源:origin: floragunncom/search-guard
public PrivilegesEvaluator(final ClusterService clusterService, final ThreadPool threadPool, final ConfigurationRepository configurationRepository, final ActionGroupHolder ah,
final IndexNameExpressionResolver resolver, AuditLog auditLog, final Settings settings, final PrivilegesInterceptor privilegesInterceptor,
final ClusterInfoHolder clusterInfoHolder) {
super();
this.configurationRepository = configurationRepository;
this.clusterService = clusterService;
this.resolver = resolver;
this.auditLog = auditLog;
this.threadContext = threadPool.getThreadContext();
this.privilegesInterceptor = privilegesInterceptor;
try {
rolesMappingResolution = ConfigConstants.RolesMappingResolution.valueOf(settings.get(ConfigConstants.SEARCHGUARD_ROLES_MAPPING_RESOLUTION, ConfigConstants.RolesMappingResolution.MAPPING_ONLY.toString()).toUpperCase());
} catch (Exception e) {
log.error("Cannot apply roles mapping resolution",e);
rolesMappingResolution = ConfigConstants.RolesMappingResolution.MAPPING_ONLY;
}
this.checkSnapshotRestoreWritePrivileges = settings.getAsBoolean(ConfigConstants.SEARCHGUARD_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES,
ConfigConstants.SG_DEFAULT_CHECK_SNAPSHOT_RESTORE_WRITE_PRIVILEGES);
this.clusterInfoHolder = clusterInfoHolder;
//this.typeSecurityDisabled = settings.getAsBoolean(ConfigConstants.SEARCHGUARD_DISABLE_TYPE_SECURITY, false);
configModel = new ConfigModel(ah, configurationRepository);
irr = new IndexResolverReplacer(resolver, clusterService, clusterInfoHolder);
snapshotRestoreEvaluator = new SnapshotRestoreEvaluator(settings, auditLog);
sgIndexAccessEvaluator = new SearchGuardIndexAccessEvaluator(settings, auditLog);
dlsFlsEvaluator = new DlsFlsEvaluator(settings, threadPool);
termsAggregationEvaluator = new TermsAggregationEvaluator();
}
代码示例来源:origin: floragunncom/search-guard
private SearchGuardLicense createOrGetTrial(String msg) {
long created = System.currentTimeMillis();
ThreadContext threadContext = threadPool.getThreadContext();
try(StoredContext ctx = threadContext.stashContext()) {
threadContext.putHeader(ConfigConstants.SG_CONF_REQUEST_HEADER, "true");
GetResponse get = client.prepareGet(searchguardIndex, "sg", "tattr").get();
if(get.isExists()) {
created = (long) get.getSource().get("val");
} else {
try {
client.index(new IndexRequest(searchguardIndex)
.type("sg")
.id("tattr")
.setRefreshPolicy(RefreshPolicy.IMMEDIATE)
.create(true)
.source("{\"val\": "+System.currentTimeMillis()+"}", XContentType.JSON)).actionGet();
} catch (VersionConflictEngineException e) {
//ignore
} catch (Exception e) {
LOGGER.error("Unable to index tattr", e);
}
}
}
return SearchGuardLicense.createTrialLicense(formatDate(created), clusterService, msg);
}
}
代码示例来源:origin: floragunncom/search-guard
private User impersonate(final TransportRequest tr, final User origPKIuser) throws ElasticsearchSecurityException {
final String impersonatedUser = threadPool.getThreadContext().getHeader("sg_impersonate_as");
if(Strings.isNullOrEmpty(impersonatedUser)) {
return null; //nothing to do
}
if (!isInitialized()) {
throw new ElasticsearchSecurityException("Could not check for impersonation because Search Guard is not yet initialized");
}
if (origPKIuser == null) {
throw new ElasticsearchSecurityException("no original PKI user found");
}
User aU = origPKIuser;
if (adminDns.isAdminDN(impersonatedUser)) {
throw new ElasticsearchSecurityException("'"+origPKIuser.getName() + "' is not allowed to impersonate as an adminuser '" + impersonatedUser+"'");
}
try {
if (impersonatedUser != null && !adminDns.isTransportImpersonationAllowed(new LdapName(origPKIuser.getName()), impersonatedUser)) {
throw new ElasticsearchSecurityException("'"+origPKIuser.getName() + "' is not allowed to impersonate as '" + impersonatedUser+"'");
} else if (impersonatedUser != null) {
aU = new User(impersonatedUser);
if(log.isDebugEnabled()) {
log.debug("Impersonate from '{}' to '{}'",origPKIuser.getName(), impersonatedUser);
}
}
} catch (final InvalidNameException e1) {
throw new ElasticsearchSecurityException("PKI does not have a valid name ('" + origPKIuser.getName() + "'), should never happen",
e1);
}
return aU;
}
代码示例来源:origin: floragunncom/search-guard
final String authorizationHeader = threadPool.getThreadContext().getHeader("Authorization");
内容来源于网络,如有侵权,请联系作者删除!