2011-12-09 4 views
-1

pour un projet universitaire je dois créer une petite application ruby ​​on rails, à Netbeans, ce qui permet au personnel de l'université de maintenir leurs dossiers d'absence.Ruby on Rails connexion

Les exemples de connexion disponibles dans les livres concernent une table utilisateur unique. Mon application nécessitera 3 types d'utilisateurs du personnel (qui sont assignés à un gestionnaire), gestionnaire et administrateur (pour créer/modifier/supprimer tous les employés). Ainsi, le login devra faire apparaître une page d'accueil particulière des utilisateurs, par étapes ma confusion.

Ma structure de table a actuellement le champ user_id dans la table manager et staff qui a une relation 'has_one' avec l'ID de la table users qui contient simplement les champs user_id, user_name password et user_type.

Je ne peux pas obtenir un exemple de code adapté pour les connexions pour fonctionner avec cette application multi-utilisateur, des idées ou des idées sur des tutoriels disponibles similaires à cela?

Cheers.

P.S. J'ai la spécification complète disponible si d'autres informations supplémentaires sont nécessaires.

+0

qu'avez-vous essayé exactement? Il semble que l'utilisation d'une logique commune pour s'authentifier en fonction de la table de vos utilisateurs soit acceptable. Après cela, à la fin de la logique d'authentification (par exemple si vous avez un 'SessionsController' dans la' nouvelle action'), vous pouvez simplement rediriger sur ce qui se passe. – riffraff

Répondre

0

Je ne pourrais pas dire à partir de votre question si vous avez déjà l'authentification fonctionnante. Mais, j'ai mis en place des systèmes similaires en utilisant les gemmes de devise et de CANCANN. Avec le principe, il suffit de spécifier le chemin racine dans config/routes.rb et votre utilisateur sera redirigé là-bas lors de la connexion. Par exemple, vous pourriez avoir une route comme ceci:

namespace :user do 
    match 'dashboard' => 'dashboard#index', :as => :root 
end 

Ensuite, dans le tableau de bord index #, vous pouvez fournir des actions spécifiques à un profil. De plus, un bon moyen de gérer les rôles des utilisateurs serait de placer une colonne de rôle sur la table des utilisateurs et d'utiliser la gemme cancan. Jetez un coup d'œil à ce rail sur le sujet http://railscasts.com/episodes/192-authorization-with-cancan ... Vous pouvez donc affecter quelqu'un au rôle d'administrateur, et en utilisant le langage DSL simple de cancan, vous pouvez créer/modifier/supprimer tous les employés.