Вдохновлено ABAC и XAML
Описанный паттерн берет за основу принципы ABAC (Attribute-Based Access Control) и XAML.
На клиенте нужен ABAC, даже если на бэкенде RBAC
В этой статье вы можете прочитать чем концептуально отличаются ABAC (Attribute-Based Access Control) и RBAC (Role Based Access Control).
На Frontend'е нужна такая система доступов, которая однозначно будет указывать на предмет блокировок доступов в контексте пользовательского интерфейса. RBAC и даже ABAC, имплементированный на стороне API не будет зависеть от UI, который привносит свою дополнительную специфичность при расчете доступов.
В связи с этим, на клиенте необходимо перманентно использовать ABAC, доступы которого будут напрямую связаны со специфичностью UI.