Example usage for org.apache.solr.client.solrj.impl SolrPortAwareCookieSpecFactory POLICY_NAME

List of usage examples for org.apache.solr.client.solrj.impl SolrPortAwareCookieSpecFactory POLICY_NAME

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.impl SolrPortAwareCookieSpecFactory POLICY_NAME.

Prototype

String POLICY_NAME

To view the source code for org.apache.solr.client.solrj.impl SolrPortAwareCookieSpecFactory POLICY_NAME.

Click Source Link

Usage

From source file:com.streamsets.pipeline.solr.impl.SdcSolrHttpClientBuilder.java

License:Apache License

static SolrHttpClientBuilder create() {
    SolrHttpClientBuilder solrHttpClientBuilder = SolrHttpClientBuilder.create();

    final String useSubjectCredentialsProperty = USE_SUBJECT_CREDENTIALS_PROPERTY;
    String useSubjectCredentialsValue = System.getProperty(useSubjectCredentialsProperty);

    if (useSubjectCredentialsValue == null) {
        System.setProperty(useSubjectCredentialsProperty, FALSE);
    } else if (!useSubjectCredentialsValue.toLowerCase(Locale.ROOT).equals(FALSE)) {
        LOG.warn(String.format(//w  w  w . ja  v  a2 s.  c om
                "System Property: %s set to: %s not false. SPNego authentication may not be successful.",
                useSubjectCredentialsProperty, useSubjectCredentialsValue));
    }

    solrHttpClientBuilder.setAuthSchemeRegistryProvider(() -> RegistryBuilder.<AuthSchemeProvider>create()
            .register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory(true)).build());

    SolrPortAwareCookieSpecFactory cookieFactory = new SolrPortAwareCookieSpecFactory();
    solrHttpClientBuilder.setCookieSpecRegistryProvider(() -> RegistryBuilder.<CookieSpecProvider>create()
            .register(SolrPortAwareCookieSpecFactory.POLICY_NAME, cookieFactory).build());

    Credentials jassCredentials = new Credentials() {
        public String getPassword() {
            return null;
        }

        public Principal getUserPrincipal() {
            return null;
        }
    };

    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, jassCredentials);
    solrHttpClientBuilder.setDefaultCredentialsProvider(() -> credentialsProvider);

    return solrHttpClientBuilder;
}