Skip to content
Snippets Groups Projects
Commit 0bcd7d27 authored by Ahmed Osman's avatar Ahmed Osman
Browse files

fix update security

parent 6c758a8e
No related branches found
No related tags found
No related merge requests found
...@@ -50,7 +50,7 @@ class S3IBServer: ...@@ -50,7 +50,7 @@ class S3IBServer:
self.serializer = AASToJsonEncoder() self.serializer = AASToJsonEncoder()
self.deserializer = AASFromJsonDecoder() self.deserializer = AASFromJsonDecoder()
self.opa = opa_api.Opa(opa_server_url) self.opa = opa_api.Opa(opa_server_url)
self.security_id = base64.urlsafe_b64encode(security_id.encode()).decode() self.security_path = f"/aas/submodels/{base64.urlsafe_b64encode(security_id.encode()).decode()}/submodel"
self.security_enabled = security_enabled self.security_enabled = security_enabled
self.callables: dict[str, Callable] = {} self.callables: dict[str, Callable] = {}
...@@ -58,7 +58,7 @@ class S3IBServer: ...@@ -58,7 +58,7 @@ class S3IBServer:
self._update_security() self._update_security()
def _update_security(self): def _update_security(self):
security_sm = self.provider.getValue(f"/aas/submodels/{self.security_id}/submodel") security_sm = self.provider.getValue(self.security_path)
data = security.get_dic_from_security_submodel(security_sm) data = security.get_dic_from_security_submodel(security_sm)
self.opa.update_data(data, "api") self.opa.update_data(data, "api")
...@@ -150,7 +150,7 @@ class S3IBServer: ...@@ -150,7 +150,7 @@ class S3IBServer:
self.broker.publish_event(json.dumps(evt_msg.base_msg), event.message_topic) self.broker.publish_event(json.dumps(evt_msg.base_msg), event.message_topic)
# update opa server if security overwrittem # update opa server if security overwrittem
if self.security_enabled and path.startswith(self.security_id): if self.security_enabled and path.startswith(self.security_path):
self._update_security() self._update_security()
... ...
......
...@@ -55,7 +55,8 @@ async def main(): ...@@ -55,7 +55,8 @@ async def main():
resource_path = "aas" resource_path = "aas"
permission_receiver = forestmanager_hmi_id permission_receiver = forestmanager_hmi_id
security_sm: model.Submodel = await client.getValue(dzwald_id, dzwald_endpoint, security_sm: model.Submodel = await client.getValue(dzwald_id,
dzwald_endpoint,
f"/aas/submodels/{helpers.encode_id('https://www.company.com/security')}/submodel") f"/aas/submodels/{helpers.encode_id('https://www.company.com/security')}/submodel")
access_control: model.SubmodelElementList = security_sm.get_referable("AccessControl") access_control: model.SubmodelElementList = security_sm.get_referable("AccessControl")
...@@ -77,6 +78,11 @@ async def main(): ...@@ -77,6 +78,11 @@ async def main():
rules.remove_referable(rule.id_short) rules.remove_referable(rule.id_short)
utils.add_items_to_se_list(rules, new_rules) utils.add_items_to_se_list(rules, new_rules)
await client.setValue(dzwald_id,
dzwald_endpoint,
f"/aas/submodels/{helpers.encode_id('https://www.company.com/security')}/submodel",
security_sm)
await client.sendUserMessage(forestmanager_hmi_id, "s3ibs://" + forestmanager_hmi_id, "Authorized", "Authorized") await client.sendUserMessage(forestmanager_hmi_id, "s3ibs://" + forestmanager_hmi_id, "Authorized", "Authorized")
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment