Je construisais un système de gestion des rôles utilisateur. Il a un modèle Permission
et un modèle Role
. Role has_many permissions
et User has_many roles
. Nous avons donc besoin de CRUD pour permsissions
et roles
.Gestion des rôles basée sur les routes dans les rails
Je pense à une approche différente. Que diriez-vous de prendre toutes les routes dans mon application et de créer des permissions sur ?? Fondamentalement, les permissions sont des autorisations pour aller à un chemin, et nous avons une liste de chemins dans les routes.
j'ai pu obtenir toutes les routes dans mon application comme
Rails.application.routes.routes.to_a
Mais je ne pouvais pas voir cette approche mise en œuvre partout. Que pensez-vous de ceci? S'il vous plaît partagez vos suggestions. Merci d'avance.
Merci pour la réponse @bart. Mais comment puis-je ajouter une capacité de l'utilisateur autre que de le coder? Je le veux comme un administrateur peut sélectionner quelques autorisations d'une liste de contrôle et les enregistrer en tant que rôle, de sorte que les utilisateurs peuvent se voir attribuer ces rôles. Est-il possible d'utiliser Cancancan? – mukesh
cancancan est spécifiquement centré autour des * capacités * d'un utilisateur particulier. Comment ces capacités sont définies est à vous. Cela étant dit, vous pouvez facilement l'adapter à vos besoins. Par exemple, dans la classe de capacités, vous pouvez faire ce qui suit 'si user.role.permissions.include? (: Whatever)' pour décider à quelles ressources l'utilisateur a accès. –