ACL mediated `tools/bulk-content`: bulk content endpoint which filters results based on what the user has access to on the platform
Implementation of the tools/bulk-content
API within Orthanc that is able to filter results based on what access control policies the user has been associated with. (Both grants via a direct user policy or a grant provided a group are taken into account.)
Implementation notes:
- Filtering via the
/tools/batch-content
endpoint works in similar fashion to the/tools/secure-find
endpoint.- If the user has a
query
permission for the server, then the query executes without filtering the resource by the ACL. - Without a global permission, the resources visible to the user are only those to which they are associated by a policy.
- If the user has a
- The view instance (
SecureCacheFetchBulkContentView
) providing the endpoint override is a subclass oforthanc_sonador.web.bulk.CacheFetchBulkContentView
- The view provides a
RapidLookup
parameter which can be used to toggle whether the view uses the cache or native interface. - Helper classes (
SonadorResourceAclPolicyPatientQueryHelper
,SonadorResourceAclPolicyStudyQueryHelper
,SonadorResourceAclPolicySeriesQueryHelper
) were created to help utilize the ACL query methods of thedcmquery
module in a view needing to support multiple types of resources.
- The view provides a
Project Tracking
OP#41
Edited by Rob Oakes