namespace ZB.MOM.WW.OtOpcUa.OpcUaServer.Security; /// /// Canonical string constants for the OPC UA data-plane roles the LDAP group→role map /// produces and carries onto the session identity. /// These are distinct from the control-plane AdminRole enum (Admin UI capabilities) — the /// two planes share zero runtime code path by design. /// /// Across the codebase these data-plane roles (ReadOnly, WriteOperate, /// WriteTune, WriteConfigure, AlarmAck, …) are used as bare strings /// (they originate as LDAP group names mapped through RoleMapper). T18 introduced this /// single shared const for the one role the inbound alarm-method gate reads, so the gate and /// its tests reference one symbol instead of a re-typed literal. Comparison is case-insensitive /// (the role set is built with ), so the /// gate matches with that comparer too. /// /// public static class OpcUaDataPlaneRoles { /// The role that grants OPC UA Part 9 alarm acknowledge / confirm / shelve / comment /// authority. A session must carry this role for the inbound alarm-condition method handlers to /// route the command to the engine; absent it, the call is denied with /// BadUserAccessDenied. public const string AlarmAck = "AlarmAck"; /// The role that grants authority to write a writable equipment-tag variable node /// (FreeAccess / Operate attributes). A session must carry this role for the inbound /// OnWriteValue handler to route the value to the backing driver; absent it the /// write is denied with BadUserAccessDenied before any driver call. public const string WriteOperate = "WriteOperate"; }