using ZB.MOM.WW.OtOpcUa.Core.Abstractions; namespace ZB.MOM.WW.OtOpcUa.Core.Authorization; /// /// Evaluates whether a session is authorized to perform an OPC UA /// on the node addressed by a . Phase 6.2 Stream B central surface. /// /// /// Data-plane only. Reads NodeAcl rows joined against the session's resolved LDAP /// groups (via ). Must not depend on the control-plane /// admin-role mapping table per decision #150 — the two concerns share zero runtime code. /// public interface IPermissionEvaluator { /// /// Authorize the requested operation for the session. Callers (DriverNodeManager /// Read / Write / HistoryRead / Subscribe / Browse / Call dispatch) map their native /// failure to BadUserAccessDenied per OPC UA Part 4 when the result is not /// . /// AuthorizationDecision Authorize(UserAuthorizationState session, OpcUaOperation operation, NodeScope scope); }