solr中的只读用户未按预期工作

mitkmikd  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(162)

我想在solr中创建两个用户:一个管理员和一个开发人员。开发人员应该不能编辑solr元数据。这个用户应该不能使用solr.add或solr delete,我希望他只能使用solr.search来编辑我们的元数据solr-core(在python pysolr中)。
但是,用户总是可以使用solr.add和solr.delete,无论我为他设置了什么权限。下面是我的security.json:

  1. {
  2. "authentication":{
  3. "blockUnknown":true,
  4. "class":"solr.BasicAuthPlugin",
  5. "credentials":{
  6. "my_admin":"<creds>",
  7. "my_dev":"<creds>"},
  8. "forwardCredentials":false,
  9. "":{"v":0}},
  10. "authorization":{
  11. "class":"solr.RuleBasedAuthorizationPlugin",
  12. "user-role":{
  13. "my_admin":["admin"],
  14. "my_dev":["dev"]},
  15. "permissions":[
  16. {
  17. "name":"security-edit",
  18. "role":["admin"],
  19. "index":1},
  20. {
  21. "name":"read",
  22. "role":["dev"],
  23. "index":2}],
  24. "":{"v":0}}
  25. }

我也尝试了zk-readmetics-readsecurity-readcollection-admin-read而不是read,结果都是一样的。用户my_dev可以使用solr.add和solr. delete。

ve7v8dk2

ve7v8dk21#

所以,感谢@MatsLindh,我得到了它。我改变了security.json如下,现在它的工作如预期!

  1. {
  2. "authentication":{
  3. "blockUnknown":true,
  4. "class":"solr.BasicAuthPlugin",
  5. "credentials":{
  6. "my_admin":"<...>",
  7. "my_dev":"<...>",
  8. "my_user":"<...>"},
  9. "forwardCredentials":false,
  10. "":{"v":0}},
  11. "authorization":{
  12. "class":"solr.RuleBasedAuthorizationPlugin",
  13. "user-role":{
  14. "my_admin":["admin"],
  15. "my_dev":["dev"],
  16. "my_user":["user"]},
  17. "permissions":[
  18. { "name":"update", "role":["admin", "dev"] },
  19. { "name":"read", "role":["admin", "dev", "user"] },
  20. { "name":"security-edit", "role":["admin"] },
  21. { "name":"all", "role":["admin"] }
  22. ]
  23. }
  24. }
展开查看全部

相关问题