Closed xydan83 closed 1 year ago
userAccessLevel is parsed here: https://github.com/open62541/open62541-nodeset-loader/blob/dac3acec9ae674163cb149f1990265c1c3ece878/src/Nodeset.c#L350
and the value for the new node is set here: https://github.com/open62541/open62541-nodeset-loader/blob/dac3acec9ae674163cb149f1990265c1c3ece878/backends/open62541/src/import.c#L218
I tried using debag and didn't find any problems. Maybe we need some permission data to add these attributes?
thanks for trying it out. I think the open62541 needs some logic to "calculate" the UserAcessLevel, the stack has to consider the accessLevel and the user identified with the session.
What happens if you add a node without the nodesetLoader and set AccessLevel to CurrentRead | CurrrentWrite and userAccessLevel to CurrentRead?
thanks for trying it out. I think the open62541 needs some logic to "calculate" the UserAcessLevel, the stack has to consider the accessLevel and the user identified with the session.
What happens if you add a node without the nodesetLoader and set AccessLevel to CurrentRead | CurrrentWrite and userAccessLevel to CurrentRead?
I found this:
The following attributes cannot be written from the server, as they are specific to the different users and set by the access control callback:
UserWriteMask
UserAccessLevel
UserExecutable
https://www.open62541.org/doc/1.3/server.html#reading-and-writing-node-attributes
I think we can only change it from a client with some user access. From what I've read above, this is what I understand...
What happens if you add a node without the nodesetLoader and set AccessLevel to CurrentRead | CurrrentWrite and userAccessLevel to CurrentRead?
- Good idea, I will try this.
Is this issue ready for closing or should we investigate something further?
What happens if you add a node without the nodesetLoader and set AccessLevel to CurrentRead | CurrrentWrite and userAccessLevel to CurrentRead?
I think we can close this issue.
What happens if you add a node without the nodesetLoader and set AccessLevel to CurrentRead | CurrrentWrite and userAccessLevel to CurrentRead?
I will try this when I have more time for it.
Thank you! :)
Hi. The UA CPP Server has SecurityAccess nodes in ComplianceTest.
And I generate some export from this code:
By default UserAccessLevel = 1 and we don't need to write it in xml.
And after doing the import, I noticed that ns=2;s=Demo.CTT.SecurityAccess.AccessLevel_CurrentRead_NotUser and ns=2;s=Demo.CTT.SecurityAccess.AccessLevel_CurrentWrite_NotUser can`t change UserAccessLevel.
I have some XML attributes:
AccessLevel="3" UserAccessLevel="2"
A Node whose AccessLevel attribute contains 'CurrentRead' but the UserAccessLevel does not contain 'CurrentRead'.After doing the import I have:
But I must have:
AccessLevel="3"
. A Node whose AccessLevel attribute contains 'CurrentWrite' but the UserAccessLevel does not contain 'CurrentWrite'After doing the import I have:
But I must have:
When I change the AccessLevel attribute in xml - it works, the access value changes. When I change UserAccessLevel it doesn't work.
Maybe some bug in nodeset_loader?
upd: I noticed that when I change the AccessLevel, the UserAccessLevel also changes.:
AccessLevel="0" UserAccessLevel="0"
AccessLevel="1" UserAccessLevel="0"
AccessLevel="2" UserAccessLevel="0"
AccessLevel="3" UserAccessLevel="0"