This was due to a missing comma in the JSON file.

{
"authentication":{
   "blockUnknown": false,
   "class":"solr.BasicAuthPlugin",
   "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0=
Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}
},
"authorization":{
   "class":"solr.RuleBasedAuthorizationPlugin",
   "permissions":[{"name":"security-edit",
      "role":"admin"}],
   "user-role":{"solr":"admin"}
}}


Regards,
Edwin

On 10 April 2017 at 16:34, Zheng Lin Edwin Yeo <edwinye...@gmail.com> wrote:

> This is the error message that I get.
>
> 2017-04-10 08:30:05.766 ERROR (main) [   ] o.a.s.s.SolrDispatchFilter
> Could not start Solr. Check solr/home property and the logs
> 2017-04-10 08:30:05.779 ERROR (main) [   ] o.a.s.c.SolrCore 
> null:java.lang.ClassCastException:
> java.lang.String cannot be cast to java.util.Map
> at org.apache.solr.common.cloud.ZkStateReader.getSecurityProps(
> ZkStateReader.java:908)
> at org.apache.solr.common.cloud.ZkStateReader.
> createClusterStateWatchersAndUpdate(ZkStateReader.java:433)
> at org.apache.solr.cloud.ZkController.init(ZkController.java:672)
> at org.apache.solr.cloud.ZkController.<init>(ZkController.java:419)
> at org.apache.solr.core.ZkContainer.initZooKeeper(ZkContainer.java:112)
> at org.apache.solr.core.CoreContainer.load(CoreContainer.java:465)
> at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(
> SolrDispatchFilter.java:235)
> at org.apache.solr.servlet.SolrDispatchFilter.init(
> SolrDispatchFilter.java:167)
> at org.eclipse.jetty.servlet.FilterHolder.initialize(
> FilterHolder.java:137)
> at org.eclipse.jetty.servlet.ServletHandler.initialize(
> ServletHandler.java:873)
> at org.eclipse.jetty.servlet.ServletContextHandler.startContext(
> ServletContextHandler.java:349)
> at org.eclipse.jetty.webapp.WebAppContext.startWebapp(
> WebAppContext.java:1404)
> at org.eclipse.jetty.webapp.WebAppContext.startContext(
> WebAppContext.java:1366)
> at org.eclipse.jetty.server.handler.ContextHandler.
> doStart(ContextHandler.java:778)
> at org.eclipse.jetty.servlet.ServletContextHandler.doStart(
> ServletContextHandler.java:262)
> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:520)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(
> StandardStarter.java:41)
> at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(
> AppLifeCycle.java:188)
> at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(
> DeploymentManager.java:499)
> at org.eclipse.jetty.deploy.DeploymentManager.addApp(
> DeploymentManager.java:147)
> at org.eclipse.jetty.deploy.providers.ScanningAppProvider.
> fileAdded(ScanningAppProvider.java:180)
> at org.eclipse.jetty.deploy.providers.WebAppProvider.
> fileAdded(WebAppProvider.java:458)
> at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(
> ScanningAppProvider.java:64)
> at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
> at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
> at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
> at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at org.eclipse.jetty.deploy.providers.ScanningAppProvider.
> doStart(ScanningAppProvider.java:150)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(
> DeploymentManager.java:561)
> at org.eclipse.jetty.deploy.DeploymentManager.doStart(
> DeploymentManager.java:236)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at org.eclipse.jetty.util.component.ContainerLifeCycle.
> start(ContainerLifeCycle.java:131)
> at org.eclipse.jetty.server.Server.start(Server.java:422)
> at org.eclipse.jetty.util.component.ContainerLifeCycle.
> doStart(ContainerLifeCycle.java:113)
> at org.eclipse.jetty.server.handler.AbstractHandler.
> doStart(AbstractHandler.java:61)
> at org.eclipse.jetty.server.Server.doStart(Server.java:389)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at org.eclipse.jetty.xml.XmlConfiguration$1.run(
> XmlConfiguration.java:1516)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1441)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.eclipse.jetty.start.Main.invokeMain(Main.java:214)
> at org.eclipse.jetty.start.Main.start(Main.java:457)
> at org.eclipse.jetty.start.Main.main(Main.java:75)
>
>
> Regards,
> Edwin
>
> On 10 April 2017 at 11:42, Zheng Lin Edwin Yeo <edwinye...@gmail.com>
> wrote:
>
>> Hi,
>>
>> I tried to implement the security.json using SolrCloud in Solr 6.4.2.
>>
>> However, after I upload the security.json to ZooKeeper, the Solr cannot
>> access any function at all. It also does not prompt to enter a User Name
>> and Password to login, as per what is expected.
>>
>> Why could this be the reason?
>>
>> Below is my security.json file, taken from the example in Solr. It does
>> not work even when the blockUnknown is set to false.
>>
>>
>> {
>> "authentication":{
>>    "blockUnknown": false,
>>    "class":"solr.BasicAuthPlugin",
>>    "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0=
>> Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}
>> },
>> "authorization":{
>>    "class":"solr.RuleBasedAuthorizationPlugin",
>>    "permissions":[{"name":"security-edit",
>>       "role":"admin"}]
>>    "user-role":{"solr":"admin"}
>> }}
>>
>>
>> Regards,
>> Edwin
>>
>
>

Reply via email to