|
1 | 1 | from asyncua import ua
|
2 | 2 | from asyncua.server.users import UserRole
|
3 | 3 |
|
4 |
| -WRITE_TYPES = [ |
5 |
| - ua.ObjectIds.WriteRequest_Encoding_DefaultBinary, |
| 4 | +ADMIN_TYPES = [ |
6 | 5 | ua.ObjectIds.RegisterServerRequest_Encoding_DefaultBinary,
|
7 | 6 | ua.ObjectIds.RegisterServer2Request_Encoding_DefaultBinary,
|
8 | 7 | ua.ObjectIds.AddNodesRequest_Encoding_DefaultBinary,
|
|
11 | 10 | ua.ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary,
|
12 | 11 | ]
|
13 | 12 |
|
14 |
| -READ_TYPES = [ |
| 13 | +USER_TYPES = [ |
15 | 14 | ua.ObjectIds.CreateSessionRequest_Encoding_DefaultBinary,
|
16 | 15 | ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary,
|
17 | 16 | ua.ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary,
|
18 | 17 | ua.ObjectIds.ReadRequest_Encoding_DefaultBinary,
|
| 18 | + ua.ObjectIds.WriteRequest_Encoding_DefaultBinary, |
19 | 19 | ua.ObjectIds.BrowseRequest_Encoding_DefaultBinary,
|
20 | 20 | ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary,
|
21 | 21 | ua.ObjectIds.FindServersRequest_Encoding_DefaultBinary,
|
@@ -49,15 +49,15 @@ def check_validity(self, user, action_type, body):
|
49 | 49 | class SimpleRoleRuleset(PermissionRuleset):
|
50 | 50 | """
|
51 | 51 | Standard simple role-based ruleset.
|
52 |
| - Admins alone can write, admins and users can read, and anonymous users can't do anything. |
| 52 | + Admins alone can change address space, admins and users can read/write, and anonymous users can't do anything. |
53 | 53 | """
|
54 | 54 |
|
55 | 55 | def __init__(self):
|
56 |
| - write_ids = list(map(ua.NodeId, WRITE_TYPES)) |
57 |
| - read_ids = list(map(ua.NodeId, READ_TYPES)) |
| 56 | + admin_ids = list(map(ua.NodeId, ADMIN_TYPES)) |
| 57 | + user_ids = list(map(ua.NodeId, USER_TYPES)) |
58 | 58 | self._permission_dict = {
|
59 |
| - UserRole.Admin: set().union(write_ids, read_ids), |
60 |
| - UserRole.User: set().union(read_ids), |
| 59 | + UserRole.Admin: set().union(admin_ids, user_ids), |
| 60 | + UserRole.User: set().union(user_ids), |
61 | 61 | UserRole.Anonymous: set()
|
62 | 62 | }
|
63 | 63 |
|
|
0 commit comments