[RUBY] Configurer le routage de pré-connexion dans Devise

Chose que tu veux faire

Avec Devise installé Personnalisez le routage avant et après la connexion.

supposition

Lorsque Devise est installé, le chemin racine est / users / sign_in par défaut. Par conséquent, si vous essayez d'accéder à la première page sans vous connecter, appareil passera à la page de connexion sans autorisation.

Méthode

Si vous souhaitez accéder à une page spécifique sans vous connecter before_action :authenticate_user! Doit être écrit dans le contrôleur correspondant. Si l'authentification de connexion est requise pour toutes les actions, décrivez-la dans application_controller. Vous pouvez éviter les problèmes d'écriture dans chaque contrôleur.

Qu'est-ce que before_action: authenticate_user!

before_action: authenticate_user! est une méthode d'aide pour concevoir. En écrivant ceci, seuls les utilisateurs authentifiés effectueront chaque action.

Si vous souhaitez effectuer uniquement une action spécifique sans vous connecter

Par exemple, lorsque vous dites "Je souhaite afficher uniquement la première page et à propos de la page même si je ne suis pas connecté ..." Spécifiez dans un formulaire qui exclut l'action correspondante comme indiqué ci-dessous.

before_action :authenticate_user!, except: [:top, about]


En faisant cela, seules l'action principale et l'action about peuvent être affichées même lorsque vous êtes déconnecté. Les autres actions ne seront pas affichées même si vous saisissez directement l'URL si vous n'êtes pas connecté.

▼ Référence Devise authentication_user! https://skillhub.jp/courses/137/lessons/978

De plus, cette fois, j'ai mentionné qu'il est décrit dans application_controller, Si vous ne souhaitez pas ajouter de paramètres d'authentification de connexion à des contrôleurs autres que le contrôleur utilisateur Vous pouvez également créer une hiérarchie dans un répertoire et créer un contrôleur qui s'applique uniquement à ce répertoire.

Veuillez vous référer à ce qui suit. ▼ Référence https://qiita.com/ryuuuuuuuuuu/items/bf7e2ea18ef29254b3dd

Recommended Posts

Configurer le routage de pré-connexion dans Devise
Configurer un webhook dans l'application personnalisée de Shopify
Définir CookieSpec dans HttpClient 4.3
Configurer un multi-projet Gradle dans IntelliJ pour créer un fichier JAR
Configurer le résolveur en plusieurs parties pour permettre à Spring de télécharger des fichiers
Comment configurer un proxy avec authentification dans Feign
Définir le paramètre contextuel dans Spring Boot
Erreur ActiveRecord :: NotNullViolation dans Devise
Configurer GitLab avec docker
Méthodes d'assistance disponibles dans la devise
Configurer Gitolite sur CentOS 7
Configurer ansible-playbook sur Ubuntu 20.04