Лучше чем
RBAC вроде ничего не придумали.
Вот реализация RBAC с кодом на примере laravel
https://habr.com/post/321678/ACL - не такая удобная штука, но очень гибкая, широко использовалась раньше, да и сейчас кое-где применяется.
А вообще подходов намного больше, можно походить по ссылкам "см также" из этих статей.