📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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) {