Je voulais juste comparer différentes solutions utilisées lors de la mise en œuvre des ACL dans Rails.Quelle est la meilleure façon d'implémenter les ACL dans une application Rails?
Répondre
J'utilise le plug-in d'autorisation (Créé par Bill Katz):
Les rôles peuvent être autorisés pour toute l'application, une classe de modèle, ou un objet spécifique. Le plugin fournit un moyen de vérifier l'autorisation au niveau de la classe ou de la méthode d'instance en utilisant un permis et un permis? méthodes Il fournit également des méthodes dynamiques de type anglais comme "user.is_manager_of project" (où "user" agit comme autorisé, "manager" est un rôle et "project" est un modèle autorisable). Vous pouvez spécifier comment le contrôle est redirigé si l'autorisation est refusée. (quote source)
Page d'accueil: http://www.writertopia.com/developers/authorization
Docs: http://github.com/DocSavage/rails-authorization-plugin/tree/master/authorization/README.rdoc
Vous pourriez également être intéressé par cette comparaison (depuis l'année dernière, mais encore un peu utile, il est là où je suis la citation ci-dessus de): http://www.vaporbase.com/postings/Authorization_in_Rails
Et une comparaison plus récente: http://steffenbartsch.com/blog/2008/08/rails-authorization-plugins/
Il existe un plugin appelé acl_system2 qui fonctionne en ayant une table users et une table de rôles. Il y a beaucoup plus d'informations utiles dans le README et le projet est également sur github.
Le meilleur que j'ai trouvé est role_requirement. Il se branche directement dans le plugin restful_authentication.