À l'aide de Concevoir before_action :authenticate_user! ne pas faire n'importe quoi
Je suis en train d'exiger de connexion sur toutes les pages de mon Rails 4 site web.
Dans ApplicationController j'ai ajouté before_action :authenticate_user!
, mais il n'a tout simplement pas faire n'importe quoi. J'ai essayé d'ajouter le même before_action :authenticate_user!
à un autre contrôleur, et il fonctionne très bien.
Dois-je faire autre chose pour le ApplicationController, pour faire de l'authentification est requis sur toutes les actions (à l'Exception de l'inscription/signin)?
- Que devrait être bon aussi longtemps que vos autres contrôleurs de réellement faire hériter de ApplicationController...
Vous devez vous connecter pour publier un commentaire.
Voici le code que nous utilisons:
Le problème, vous avez probablement est double:
--
Assurez-vous que vos autres contrôleurs héritant de
application_controller
:--
Vous êtes en quelque sorte "sauter" le
before_action
rappelSi vous utilisez
skip_before_action
n'importe où, vous avez besoin de l'enlever. Il fera probablement un problème avec votreauthenticate_user!
méthode. Pour résoudre ce problème, je voudrais tout d'abord le test sans aucuneskip_before_action
rappels, et puis voir ce qu'il obtient de travail correctementUne note supplémentaire -
signin /signup
ne sera pas question. Ils héritent tous de laDevise
contrôleurs; ils vont simplement exécuter en tant que de besoin.Mis à JOUR en 2019
Dans votre
routes.rb
fichier, vous pouvez l'ai mentionné seulement authenticated_user chemin comme ci-dessousVous devriez le mentionner unauthenticated_user chemin de trop pour le faire fonctionner, ou tout simplement racine chemin sans unauthenticated_user ou authenticated_user