版本: 8.8-8.9
简而言之,当发出Elasticsearch请求时,如果认证上下文中没有包含必要的请求ID,就会发生此错误。这是一项安全措施,旨在确保每个请求都是唯一且可追踪的。要解决此问题,您可以确保每个请求在认证上下文中都包含一个唯一的ID。或者,您可以调整Elasticsearch安全设置以不要求请求ID,但这可能会对系统的安全性和可追踪性产生影响。
日志上下文 #
日志"Authenticated context must include request id"的类名是 LoggingAuditTrail.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解上下文的用户参考:
@Override
public void authenticationSuccess(RestRequest request) {
final String requestId = AuditUtil.extractRequestId(securityContext.getThreadContext());
if (requestId == null) {
// should never happen
throw new ElasticsearchSecurityException("Authenticated context must include request id");
}
final Authentication authentication;
try {
authentication = securityContext.getAuthentication();
} catch (Exception e) {





