[
https://issues.apache.org/jira/browse/SOLR-14569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17462504#comment-17462504
]
Mark Robert Miller commented on SOLR-14569:
-------------------------------------------
Ah, my bad, this actually different than a couple basic auth related issues I
was looking at. Did not know there was a search handler shardHandleFactory
override.
I think you may want to tie this into the CoreContainer logic that deals with
the CoreContainer shardHandlerFactory - with either the CoreContainer looking
at each core's handlers for anything that is an instance of SearchHandler and
then getting it's shardHandlerFactory impl and if it's not the same as the
CoreContainer one, you know you have a handler instance. Else, have the handler
register the instance with the CoreContainer when it creates it and remove it
with the close hook. Then you can tie into other support you want, eg, update
when security.json is modified (does not require a core reload).
That would put all the specific security setup logic in CoreContainer's
{color:#00627a}setupHttpClientForAuthPlugin.{color}
{color:#00627a}Then you could also maybe make SearchHandler setup in inform
less specific to basic auth and requiring knowledge of the logic that goes into
security setup in CoreContainer by having it simply use the security builder
from the CoreContainer shardHandlerFactory in inform?{color}
> Configuring a shardHandlerFactory on the /select requestHandler results in
> HTTP 401 when searching on alias in secured Solr
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-14569
> URL: https://issues.apache.org/jira/browse/SOLR-14569
> Project: Solr
> Issue Type: Bug
> Components: Authentication
> Affects Versions: 8.5, main (9.0)
> Environment: Unit test on master branch (9x) built on Windows 10 with
> Java 11
> Solr 8.5.0 instance running on CentOS 7.7 with Java 11
> Reporter: Isabelle Giguere
> Assignee: Anshum Gupta
> Priority: Major
> Attachments: SOLR-14569.patch, SOLR-14569.patch, SOLR-14569.patch,
> curl_requests-responses.txt, security.json, security.json, solr.log,
> solr_conf.zip, updated_solr_conf.zip
>
>
> The issue was first noticed on an instance of Solr 8.5.0, after securing Solr
> with security.json.
> Searching on a single collection returns the expected results, but searching
> on an alias returns HTTP 401.
> *Note that this issue is not reproduced when the collections are created
> using the _default configuration.*
> Update: Fast-forward to this comment for the reason why:
> https://issues.apache.org/jira/browse/SOLR-14569?focusedCommentId=17136195&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17136195
> The attached patch includes a unit test to query on an alias. *Fixed and
> updated as per [~gerlowskija]' comments*
> *Patch applies on master branch (9x)*.
> The unit test is added to the test class that was originally part of the
> patch to fix SOLR-13510.
> Update: Unit tests fail if sharHandlerFactory is added to the requestHandler
> in configset cloud-minimal
> I also attach:
> - our product-specific Solr configuration, modified to remove irrelevant
> plugins and fields
> - security.json with user 'admin' (pwd 'admin')
> -- Note that forwardCredentials true or false does not modify the behavior
> To test with attached configuration solr_conf.zip or updated_solr_conf.zip:
> - Download and unzip Solr 8.5.0
> - Modify ./bin/solr.in.sh :
> -- ZK_HOST (optional)
> -- SOLR_AUTH_TYPE="basic"
> -- SOLR_AUTHENTICATION_OPTS="-Dbasicauth=admin:admin"
> - Upload security.json into Zookeeper
> -- ./bin/solr zk cp
> [file:/path/to/security.json|file:///path/to/security.json]
> zk:/path/to/solr/security.json [-z <zk_host>:<zk_port>[/<solr>]]
> - Start Solr in cloud mode
> -- ./bin/solr -c
> - Upload the provided configuration
> - ./bin/solr zk upconfig -z <zk_host>:<zk_port>[/<solr>] -n conf_en -d
> /path/to/folder/conf/
> - Create 2 collections using the uploaded configuration
> -- test1, test2
> - Create an alias grouping the 2 collections
> -- test = test1, test2
> - Query (/select?q=*:*) one collection
> -- results in successful Solr response
> - Query the alias (/select?q=*:*)
> -- results in HTTP 401
> There is no need to add documents to observe the issue.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]