در RBAC هر کاربر یک نقش (viewer، editor، admin) دارد و هر نقش به مجموعه‌ای از مجوزها مثل doc:delete نگاشت می‌شود. کد مجوز را بررسی می‌کند، نه نام نقش را، پس نقش‌ها بدون دست زدن به handlerها عوض می‌شوند.