2009-12-17 5 views
1

Je construis une application de gestion de projet et je ne suis pas sûr quel est le meilleur/correct modèle d'autorisation à mettre en œuvre étant donné que je suis nouveau sur Rails (et la programmation en général). Voici ce que j'essaie de faire.Modèle d'autorisation pour Ruby on Rails

Je veux être en mesure d'ajouter un "client" à l'application, puis plusieurs projets à un client. Je voudrais être en mesure d'ajouter des utilisateurs (qui sont essentiellement des représentants du client) pour voir les clients de plusieurs projets mais pas d'autres clients. J'ai l'intention d'avoir des contrôleurs pour le suivi du temps, des notes, des commentaires et des images tous pour être associés aux clients et au projet de ce client.

En outre, je voudrais configurer le compte pour contrôler qui peut en avoir un. Je n'ai pas besoin que l'utilisateur établisse un compte par lui-même.

Est-ce que cela a du sens?

+1

Ceci n'est pas appelé Authentification ... Ceci s'appelle Autorisation. – khelll

+0

Dans le cas où ce n'est pas clair à partir de ce qui précède ... L'authentification consiste à déterminer avec précision qui est quelqu'un. L'autorisation consiste à déterminer/contrôler ce qu'ils sont autorisés à faire. –

Répondre

4

Je crois que ce que vous évoquez est appelé autorisation pas d'authentification, de toute façon:

Je suggère acl9 d'autorisation et authlogic pour l'authentification.

+0

Pourriez-vous élaborer sur ces réponses? Quelles sont les raisons que vous suggérez acl9 et authlogic. –

+0

Il existe d'autres disponibles qui sont également bien utilisés. [CanCan] (https://github.com/ryanb/cancan) est # 1 en ce moment (10 juin 2013) pour [autorisation] (https://www.ruby-toolbox.com/categories/rails_authorization) dans La liste de Ruby Toolbox. Et [Devise] (https://github.com/plataformatec/devise) est n ° 1 dans la liste [authentification] de Ruby Toolbox (https://www.ruby-toolbox.com/categories/rails_authentication). –

3

Ces (gratuits) Railscasts devraient vous donner quelques éléments de réflexion. Il y a beaucoup de RubyGems/plugins pour ce genre de choses.

1

Restful Authentication est toujours la norme d'or pour l'authentification de l'utilisateur dans Ruby on rails.

+2

Cela est devenu trop vieux maintenant ... ppl déplacé à authlogic ce qui est beaucoup mieux. – khelll

+0

Le dégagement est également très bon. – jonnii

2

The Ruby Toolbox vous donne un aperçu des outils et de leur popularité dans la communauté des rails (notés par les observateurs et les forkers sur GitHub). Comme vous pouvez le voir, les plugins restful_authentication et authlogic suggérés sont presque au même niveau.

1

Je l'ai utilisé Authorization plug-in dans le passé et comme parce qu'il donne des méthodes méta belles telles que:

user.is_eligible_for_what --> returns array of authorizable objects for which user has role "eligible" 
    user.is_moderator_of? group --> returns true/false 
    user.is_moderator_of group --> sets user to have role "moderator" for object group. 
    user.is_administrator  --> sets user to have role "administrator" not really tied to any object. 

Il y a aussi une toute nouvelle RailsCast on CanCan.