Browse Source

Merge pull request #8554 from NecatiMeral/nm/docs-elasticsearch-auth

pull/8594/head
maliming 6 years ago
committed by GitHub
parent
commit
ce6dd82bf2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/DefaultElasticClientProvider.cs
  2. 44
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/DocsElasticSearchOptions.cs

4
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/DefaultElasticClientProvider.cs

@ -21,7 +21,7 @@ namespace Volo.Docs.Documents.FullSearch.Elastic
{
var node = new Uri(Configuration["ElasticSearch:Url"]);
var settings = new ConnectionSettings(node).DefaultIndex(Options.IndexName);
return new ElasticClient(settings);
return new ElasticClient(Options.Authenticate(settings));
}
}
}
}

44
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/DocsElasticSearchOptions.cs

@ -1,15 +1,53 @@
namespace Volo.Docs.Documents.FullSearch.Elastic
using System;
using Nest;
using Volo.Abp;
namespace Volo.Docs.Documents.FullSearch.Elastic
{
public class DocsElasticSearchOptions
{
public bool Enable { get; set; }
public string IndexName { get; set; }
protected Action<ConnectionSettings> AuthenticationAction { get; set; }
public DocsElasticSearchOptions()
{
Enable = false;
IndexName = "abp_documents";
}
public bool Enable { get; set; }
public DocsElasticSearchOptions UseBasicAuthentication(string username, string password)
{
Check.NotNullOrEmpty(username, nameof(username));
Check.NotNullOrEmpty(password, nameof(password));
public string IndexName { get; set; }
AuthenticationAction = settings =>
{
settings.BasicAuthentication(username, password);
};
return this;
}
public DocsElasticSearchOptions UseApiKeyAuthentication(string id, string apiKey)
{
Check.NotNullOrEmpty(id, nameof(id));
Check.NotNullOrEmpty(apiKey, nameof(apiKey));
AuthenticationAction = settings =>
{
settings.ApiKeyAuthentication(id, apiKey);
};
return this;
}
public ConnectionSettings Authenticate(ConnectionSettings connectionSettings)
{
AuthenticationAction?.Invoke(connectionSettings);
return connectionSettings;
}
}
}

Loading…
Cancel
Save