Juste une courte note :
Lorsqu’il s’agit de codifier les contrôles d’accès, en général, ces vérifications RBAC doivent être effectuées côté serveur.
Le code RBAC dans le Javascript côté client peut être manipulé par le client.
Cela signifie que lors de la définition des permissions RBAC de base pour le personnel, les administrateurs et les modérateurs, cela doit être fait (en termes généraux) dans Rails, et non dans Javascript.
Au fait, c’est aussi ainsi que Discourse gère désormais le RBAC, en utilisant ce que Discourse appelle un « guardian », une classe Ruby nommée class Guardian, ici :
Si un développeur envisage d’ajouter des vérifications RBAC dans le code Javascript en appelant l’API Discourse, gardez à l’esprit que ce code peut être compromis, car le code exécuté dans le navigateur peut être manipulé.
Ma recommandation est de s’assurer que tout le code RBAC de base est exécuté côté serveur et de ne pas essayer de contourner cela dans le Javascript côté client.