0

Je suis relativement novice en matière de rails et j'essaie de configurer un système d'autorisation qui me permet de contrôler quels attributs d'un modèle peuvent être modifiés par un utilisateur. J'utilise declarative_authorization pour une autorisation basée sur les rôles. Cela me donne déjà beaucoup de fonctionnalités: restreindre ce que l'utilisateur peut voir dans la vue en fonction de ses rôles, quelles actions il peut effectuer dans les contrôleurs et, fondamentalement, aussi quelles actions il est autorisé à faire sur le modèle.Autorisation déclarative: restreindre les actions du modèle sur des attributs spécifiques

Cependant, je ne trouve tout simplement pas de réponse sur la façon de restreindre les actions sur des attributs spécifiques d'un modèle en fonction du rôle. Exemple: Un utilisateur qui a un rôle: guest est autorisé à mettre à jour certains attributs d'un compte utilisateur: Lorsqu'il essaie de se connecter avec un mot de passe incorrect, je souhaite mettre à jour un champ spécifique d'un compte utilisateur cela rendra ce compte inactif. Le rôle: guest ne doit cependant jamais pouvoir changer le pseudo de ce compte utilisateur. J'utilise donc la méthode "using_access_control" dans mon modèle d'utilisateur, mais cela donne des privilèges de "mise à jour" sur un compte pour tous les attributs ou aucun privilège de "mise à jour" en fonction du rôle. Je comprends que "strong_parameters" est une gemme qui rendrait essentiellement cette fonctionnalité disponible mais je n'ai aucune idée sur la façon d'adapter à la fois "declarative_authorization" et "strong_parameters" ensemble ou comment le faire simplement avec "declaration_authorization".

Quelqu'un peut-il me diriger vers la solution?

Merci beaucoup!

Répondre

-1
Authorization::Maintenance::without_access_control do 
    # do something 
end 

J'espère que cela a été utile.

Questions connexes