Class PermissionMatrix
- Namespace
- Zedal.Sdk.Apis.Diwass.Permissions
- Assembly
- Zedal.Sdk.dll
Rollen-Permission-Matrix für DIWASS-Intents (Submission, Movement, Annex7).
Die Matrix prüft ausschließlich den Rollen-Aspekt: darf eine
gegebene Rolle die Aktion grundsätzlich ausführen? Ob die Aktion im
aktuellen Dokumentzustand zulässig ist, entscheidet weiter BxA über die
von ihm gelieferte FollowupIntents-Liste; die Permission-Matrix
bildet die Schnittmenge aus „rollen-erlaubt" und „lifecycle-erlaubt".
Server-seitige Validierung bleibt orthogonal — die Matrix dient als Pre-Check für UI/CLI und ersetzt keine Server-Antwort.
public static class PermissionMatrix
- Inheritance
-
PermissionMatrix
- Inherited Members
Methods
- CanPerform(IEnumerable<Role>, DiwassIntents)
Vereinigung der erlaubten Intents über mehrere Rollen — passt zur Inferenz-API, die für eine OperatorId mehrere Rollen zurückgeben kann (z.B. S&F = Notifizierer + Erzeuger) und zu Aufrufern, die einen Operator-Verbund mit mehreren OperatorIds prüfen.
- CanPerform(Role, DiwassIntents)
Liefert
true, wenn die Rolle den Intent grundsätzlich ausführen darf.DiwassIntentUnspecifiedist immerfalse.
- Filter(IEnumerable<Role>, IEnumerable<DiwassIntents>)
Schnittmenge auf Rollen-Mengen-Basis (Union der Allow-Listen × Eingabestrom).
- Filter(Role, IEnumerable<DiwassIntents>)
Bildet die Schnittmenge aus rollen-erlaubten Intents und dem übergebenen Strom — typischerweise
handler.FollowupIntents.