J'ai commencé à écrire une application en utilisant declarative_authorization (http://github.com/stffn/declarative_authorization) mais je me demande maintenant si c'est la bonne approche.Rails - Rôles ou héritage?
Dans mon application, je donnais à certains utilisateurs un rôle «client», un rôle «administrateur» et un rôle «superadmin». Cela fonctionnait très bien, mais je me rends compte maintenant que je besoin de quelques champs sur les modèles qui sont spécifiques au « client »
Superadmin = éditeur administrateur
Administrateur = éditeur client
client = a des attributs supplémentaires comme "avatar"
À ce stade, j'ai commencé à créer un modèle client qui a hérité de l'utilisateur. Cependant, dans ce cas, les clients auront toujours le rôle "client" et seuls les clients auront ce rôle. Cela semblait un peu étrange. Je suppose que je suis à la recherche d'un peu de conseils pour ce scénario.
Vous suggérez qu'un administrateur est peut-être juste un utilisateur standard? Dans la vraie application, il y a en fait un troisième niveau - un superadmin, qui est autorisé à modifier les administrateurs. Superadmin = éditeur administrateur Admin = éditeur client Client = a des attributs supplémentaires comme "avatar" –
Édité la question originale pour inclure cette information. –