Mercurial > hg > orthanc-authorization
comparison Plugin/DefaultAuthorizationParser.cpp @ 115:0eed78c1e177
cache the UserProfile + updated http filter logic
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 08 Sep 2023 09:52:21 +0200 |
parents | 7381a7674b36 |
children | 89eddd4b2f6a |
comparison
equal
deleted
inserted
replaced
114:546aea509427 | 115:0eed78c1e177 |
---|---|
29 resourcesPattern_("^/(patients|studies|series|instances)/([a-f0-9-]+)(|/.*)$"), | 29 resourcesPattern_("^/(patients|studies|series|instances)/([a-f0-9-]+)(|/.*)$"), |
30 seriesPattern_("^/(web-viewer/series|web-viewer/is-stable-series|wsi/pyramids|wsi/tiles)/([a-f0-9-]+)(|/.*)$"), | 30 seriesPattern_("^/(web-viewer/series|web-viewer/is-stable-series|wsi/pyramids|wsi/tiles)/([a-f0-9-]+)(|/.*)$"), |
31 instancesPattern_("^/web-viewer/instances/[a-z0-9]+-([a-f0-9-]+)_[0-9]+$"), | 31 instancesPattern_("^/web-viewer/instances/[a-z0-9]+-([a-f0-9-]+)_[0-9]+$"), |
32 osimisViewerSeries_("^/osimis-viewer/series/([a-f0-9-]+)(|/.*)$"), | 32 osimisViewerSeries_("^/osimis-viewer/series/([a-f0-9-]+)(|/.*)$"), |
33 osimisViewerImages_("^/osimis-viewer/(images|custom-command)/([a-f0-9-]+)(|/.*)$"), | 33 osimisViewerImages_("^/osimis-viewer/(images|custom-command)/([a-f0-9-]+)(|/.*)$"), |
34 osimisViewerStudies_("^/osimis-viewer/studies/([a-f0-9-]+)(|/.*)$") | 34 osimisViewerStudies_("^/osimis-viewer/studies/([a-f0-9-]+)(|/.*)$"), |
35 listOfResourcesPattern_("^/(patients|studies|series|instances)(|/)$") | |
35 { | 36 { |
36 std::string tmp = dicomWebRoot; | 37 std::string tmp = dicomWebRoot; |
37 while (!tmp.empty() && | 38 while (!tmp.empty() && |
38 tmp[tmp.size() - 1] == '/') | 39 tmp[tmp.size() - 1] == '/') |
39 { | 40 { |
51 | 52 |
52 dicomWebQidoRsFind_ = boost::regex( | 53 dicomWebQidoRsFind_ = boost::regex( |
53 "^" + tmp + "/(studies|series|instances)(|/)$"); | 54 "^" + tmp + "/(studies|series|instances)(|/)$"); |
54 } | 55 } |
55 | 56 |
57 bool DefaultAuthorizationParser::IsListOfResources(const std::string& uri) | |
58 { | |
59 if (boost::regex_match(uri, listOfResourcesPattern_)) | |
60 { | |
61 return true; | |
62 } | |
63 | |
64 return false; | |
65 } | |
66 | |
67 | |
56 | 68 |
57 bool DefaultAuthorizationParser::Parse(AccessedResources& target, | 69 bool DefaultAuthorizationParser::Parse(AccessedResources& target, |
58 const std::string& uri, | 70 const std::string& uri, |
59 const std::map<std::string, std::string>& getArguments) | 71 const std::map<std::string, std::string>& getArguments) |
60 { | 72 { |