2010-01-04 8 views
0

J'ai une configuration Authlogic typique que je dois améliorer pour exiger l'identification du client en plus de l'identifiant et du mot de passe. J'ai lu un peu sur l'utilisation d'une méthode de recherche personnalisée et un autre sur l'utilisation d'une variable globale pour accéder au paramètre supplémentaire et un troisième se référant à la documentation sur l'utilisation des étendues qui ne semble pas exister.Authentifier les utilisateurs par client, connexion et mot de passe avec Authlogic

On dirait que cela devrait être facile, mais je n'arrive pas à trouver la bonne approche.

Quelqu'un at-il une solution?

Répondre

0

Ajoutez une colonne customer_id via une migration et validate_presence_of: customer_id sur votre modèle. Cela n'a rien à voir avec authlogic. À moins qu'il y en ait plus que vous essayez de faire.

1

Dans votre classe UserSession, ajoutez:

find_by_login_method :find_by_customer_id_or_login 

Dans votre classe utilisateur, créez ce finder client:

def self.find_by_customer_id_or_login(login) 
    User.find_by_customer_id(login) || User.find_by_login(login) 
end 

Cela suppose un utilisateur à la fois un champ customer_id et un champ de connexion.

Questions connexes