[ 
https://issues.apache.org/jira/browse/SOLR-9779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15672191#comment-15672191
 ] 

Kevin Risden commented on SOLR-9779:
------------------------------------

[~wiredcity11] - I was looking into this and was curious if this approach could 
work for you:

https://gist.github.com/risdenk/e39bd75321f5b6d0c338febac8b67bd4

This is an example of a BasicAuthSolrClientCache. You could use it like so:
{code}
StreamFactory factory = new 
StreamFactory().withDefaultZkHost(solrConfig.getConnectString());
StreamExpression expression = StreamExpressionParser.parse("search(" + 
COLLECTIONORALIAS + ", q=*:*, fl=\"id,a_s,a_i,a_f\", sort=\"a_f asc, a_i 
asc\")");

CloudSolrStream stream = new CloudSolrStream(expression, factory);
StreamContext streamContext = new StreamContext();
streamContext.setSolrClientCache(new BasicAuthSolrClientCache("solr", 
"SolrRocks"));
stream.setStreamContext(streamContext);

// Open and reach stream...
{code}

> Basic auth in not supported in Streaming Expressions
> ----------------------------------------------------
>
>                 Key: SOLR-9779
>                 URL: https://issues.apache.org/jira/browse/SOLR-9779
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: clients - java, security
>    Affects Versions: 6.0
>            Reporter: Sandeep Mukherjee
>              Labels: features, security
>             Fix For: 6.4
>
>
> I'm creating a StreamFactory object like the following code:
> {code}
> new StreamFactory().withDefaultZkHost(solrConfig.getConnectString())
>                 .withFunctionName("gatherNodes", GatherNodesStream.class);
> {code}
> However once I create the StreamFactory there is no way provided to set the 
> CloudSolrClient object which can be used to set Basic Auth headers.
> In StreamContext object there is a way to set the SolrClientCache object 
> which keep reference to all the CloudSolrClient where I can set a reference 
> to HttpClient which sets the Basic Auth header. However the problem is, 
> inside the SolrClientCache there is no way to set your own version of 
> CloudSolrClient with BasicAuth enabled. 
> I think we should expose method in StreamContext where I can specify 
> basic-auth enabled CloudSolrClient to use.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to