1. 程式人生 > 實用技巧 >Java客戶端新增ES的使用者名稱和密碼認證

Java客戶端新增ES的使用者名稱和密碼認證

public void ESClientInit() {

    public static RestHighLevelClient client = null;
    
    //不需要使用者名稱和密碼的認證
    //client = new RestHighLevelClient(RestClient.builder(new HttpHost("127.0.0.1", "9300", "http")));

    //需要使用者名稱和密碼的認證
    final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, 
new UsernamePasswordCredentials("userName", "password")); RestClientBuilder restClientBuilder = RestClient.builder(new HttpHost("127.0.0.1", "9300", "http")) .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
return httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }); client = new RestHighLevelClient(restClientBuilder); }