2010-03-27 4 views
0

J'utilise authlogic pour l'authentification dans mon application Rails. Ont nommé des itinéraires pour les actions fréquentes, à savoir:Concernant Authlogic et la redirection de page

map.login "login": controller => "user_sessions",: action => "nouveau"

map.logout "Fermeture de session",: contrôleur => "user_sessions",: action => "destroy"

map.register "registre",: controller => "utilisateurs",: action => "nouveau"

map.edit « utilisateur/edit /: id ',: controller => "utilisateurs",: action => "modifier"

Mais aussi dans mon routes.rb j'ai créé automatiquement ces itinéraires REST aussi:

map.resources: user_sessions

map.resources: utilisateurs

Le problème est maintenant que l'utilisateur peut se connecter à partir de deux routes différentes. Ex: De, http://localhost/login et aussi de http: // localhost/user_sessions/new. Comment est-ce que je limite l'accès seulement de l'itinéraire nommé que j'ai défini et ne permets pas d'user_sessions/new?

Répondre

1

Vous devez exclure l'action new de vos routes reposantes. Très simple:

map.resources :user_sessions, :except => [:new] 

Voir le merveilleux ApiDock pour référence.

+0

Parfait! Merci beaucoup! –