Description
This involves various components
Authentication
A basic auth based authentication filter. This should retrieve the user credentials from ZK. The user name and sha1 hash of password should be stored in ZK
sample authentication json
{ "authentication":{ "class": "solr.BasicAuthPlugin", "users" :{ "john" :"09fljnklnoiuy98 buygujkjnlk", "david":"f678njfgfjnklno iuy9865ty", "pete": "87ykjnklndfhjh8 98uyiy98", } } }
authorization plugin
This would store the roles of various users and their privileges in ZK
sample authorization.json
{ "authorization": { "class": "solr.ZKAuthorization", "user-role" :{ "john" : ["admin", "guest"] "tom" : 'dev' } "permissions": [ {"name":"collection-edit", "role": "admin" }, {"name":"coreadmin", "role":"admin" }, {"name": "mycoll_update", "collection": "mycoll", "path":["/update/*"], "role": ["guest","admin"] }] } } }
We will also need to provide APIs to create users and assign them roles