Mercurial > hg > orthanc-authorization
comparison Plugin/PermissionParser.cpp @ 194:85859ec3aa7e
added support for roles/permissions edition
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Fri, 14 Jun 2024 16:26:53 +0200 |
parents | c4b908970ae4 |
children | 2f1e872e8eaa |
comparison
equal
deleted
inserted
replaced
188:c4b908970ae4 | 194:85859ec3aa7e |
---|---|
149 Replace(regex, "DICOM_WEB_ROOT", strippedDicomWebRoot); | 149 Replace(regex, "DICOM_WEB_ROOT", strippedDicomWebRoot); |
150 | 150 |
151 LOG(WARNING) << "Authorization plugin: adding a new permission pattern: " << lowerCaseMethod << " " << regex << " - " << permission; | 151 LOG(WARNING) << "Authorization plugin: adding a new permission pattern: " << lowerCaseMethod << " " << regex << " - " << permission; |
152 | 152 |
153 permissionsPattern_.push_back(PermissionPattern(parsedMethod, regex, permission)); | 153 permissionsPattern_.push_back(PermissionPattern(parsedMethod, regex, permission)); |
154 | |
155 { // extract individual permissions | |
156 std::set<std::string> permissions; | |
157 Orthanc::Toolbox::SplitString(permissions, permission, '|'); | |
158 | |
159 for (std::set<std::string>::const_iterator it = permissions.begin(); it != permissions.end(); ++it) | |
160 { | |
161 if (!it->empty()) | |
162 { | |
163 permissionsList_.insert(*it); | |
164 } | |
165 } | |
166 | |
167 } | |
154 } | 168 } |
155 | 169 |
156 bool PermissionParser::Parse(std::set<std::string>& permissions, | 170 bool PermissionParser::Parse(std::set<std::string>& permissions, |
157 std::string& matchedPattern, | 171 std::string& matchedPattern, |
158 const OrthancPluginHttpMethod& method, | 172 const OrthancPluginHttpMethod& method, |