I am running solr and I wanted to restrict access to the admin panel since the url is localhost:8983/solr/#/core_1 and localhost:8983/solr/#/core_2
You see it has a # symbol where its the admin page and when you just want to do a normal search, you go to localhost:8983/solr/core_1browse?q=asdf There is no hash in here so i can omit it
In my webdefault.xml the line url-pattern works but it blocks people from using the web app alltogether, since * means any character. I have tried the following in place of the /* all of which did nothing, and yes I restarted the jetty server each time I tried these out.
Tried : /solr
Tried : /#/
Tried : #
Tried : s
<security-constraint>
<web-resource-collection>
<web-resource-name>Solr authenticated application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin-solr3</role-name>
</auth-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Test Realm</realm-name>
</login-config>
The “#” symbol in your URL cannot be used as a url-pattern.
The use of “#” in a URL indicates a URL fragment/anchor and as such, that part of the request URL is not sent to the server by web browsers (custom HTTP client libraries on the other hand can send the fragment/anchor portion)