L'authentification des utilisateurs fait partie de presque toutes les applications Web. Bien que cela soit courant, un examen plus approfondi montre que ce n’est pas aussi simple que cela puisse paraître. N'oubliez pas que la validation, la récupération du mot de passe et la confirmation par courrier électronique sont essentiels à tout formulaire d'authentification décent..
Confide est une solution d’authentification conçue pour Laravel afin de réduire les tâches répétitives liées à la gestion des utilisateurs. C'est une approche sèche sur des fonctionnalités telles que la création de compte, la connexion, la déconnexion, la confirmation par e-mail, la réinitialisation du mot de passe, etc..
Depuis les premières versions, Confide a toujours été bien adopté par les développeurs et largement présent dans les projets Laravel. Avec une mise à jour récente, le paquet est maintenant compatible avec Laravel 4.2, qui est la dernière version stable de Laravel au moment de la rédaction de cet article..
Dans ce tutoriel, nous allons commencer par créer notre application Laravel à l'aide de Composer, puis:
Tout d'abord, créons l'application en utilisant Composer.
$ composer create-project laravel / laravel myapp
Maintenant, avec dans le répertoire du projet, éditez le exiger
clé de composer.json
fichier et inclure l'entrée de confier:
"require": "laravel / framework": "~ 4.2", "zizaco / confide": "~4.0@dev",
Puis lancez composer update sur notre nouvelle dépendance:
$ update composer zizaco / confide
Dans config / app.php
de notre projet, ajoutez 'Zizaco \ Confide \ ServiceProvider'
à la fin du tableau de fournisseurs:
… 'Providers' => array ('Illuminate \ Foundation \ Providers \ ArtisanServiceProvider', 'Illuminate \ Auth \ AuthServiceProvider',… 'Zizaco \ Confide \ ServiceProvider',),…
Ajoutez aussi 'Confide' => 'Zizaco \ Confide \ Facade'
vers le tableau d'alias dans le même fichier:
… 'Aliases' => array ('App' => 'Illuminate \ Support \ Façades \ App', 'Artisan' => 'Illuminate \ Support \ Façades \ Artisan',… 'Confide' => 'Zizaco \ Confide \ Façade ',),
Met le adresse
et prénom
dans config / mail.php
. Cette configuration sera utilisée pour envoyer des e-mails de confirmation de compte et de réinitialisation de mot de passe aux utilisateurs. Pour ce tutoriel, vous pouvez utiliser votre serveur SMTP personnel pour que tout fonctionne
Par exemple, si vous utilisez Gmail, vous pouvez effectuer les opérations suivantes:
'driver' => 'smtp', 'host' => 'smtp.gmail.com', // à des fins de test 'from' => array ('address' => '[email protected]', 'name' => 'MyApp'),… 'username' => '[email protected]', 'password' => ',…
Générez maintenant les migrations Confide en lançant:
$ php artisan confie: migration $ php artisan migrate
Ceci installera une table contenant email
, mot de passe
, Remember_token
, code de confirmation
et confirmé
colonnes. Ce sont les champs par défaut nécessaires pour Confide. N'hésitez pas à ajouter plus de colonnes à la table ultérieurement.
Remplacer tout le code dans app / models / User.php
à:
Zizaco \ Confide \ ConfideUser
trait prendra en charge la plupart des comportements du modèle utilisateur.UsersController et Routes
Confide contient un outil générateur qui créera un contrôleur et écrira les routes pour nous. Pour créer le
UtilisateursContrôleur
et pour enregistrer les routes, exécutons ces commandes:$ php artisan confier: contrôleur $ php artisan confier: routesComme de nouvelles classes ont été créées, nous devrons actualiser les fichiers à chargement automatique..
$ composer dump-autoloadPrêt à l'emploi
Nous avons fini! Notre application dispose désormais de toutes les fonctionnalités offertes par Confide. Exécutez le serveur d'applications en appelant
php artisan servir
dans le terminal.Le suivant
OBTENIR
itinéraires sont disponibles dans notre application:http: // localhost: 8000 / users / create http: // localhost: 8000 / users / login http: // localhost: 8000 / users / Forgot_passwordPour accéder à l'utilisateur actuel, nous pouvons appeler
Confide :: user ()
. Par conséquent, pour afficher le nom de l'utilisateur actuel, nous devons remplacer le contenu deapp / views / hello.php
avec:
Auth utilisateur avec Confide Bonjour confier
salut
Maintenant allez-y et accédez
http: // localhost: 8000 / users / create
pour créer notre premier utilisateur. Vous recevrez un email de confirmation juste après avoir soumis le formulaire. (si vous avez rempli leconfig / mail.php
avec les valeurs correctes). Connectez-vous et vous verrez le nom d'utilisateur à l'écran..Améliorer les visuels
Les formes par défaut de Confide sont compatibles avec Bootstrap. Alors ne soyez pas intimidé par la "laideur" d’eux sur une page sans CSS. Editez le contrôleur généré par Confide (
UserController.php
) et mettez à jour la méthode create pour:Ainsi, notre application rendra la vue
utilisateurs.signup
. Créons cette vue dansapp / vues / utilisateurs
commesignup.blade.php
avec le contenu suivant:Auth utilisateur avec Confide Importe le bootstrap de Twitter et en définit le styleS'inscrire
Rend le formulaire d'inscription de Confide Confide :: makeSignupForm () -> render ();Après cela, nous aurons un résultat beaucoup plus élégant dans le formulaire de création d’utilisateur sur
http: // localhost: 8000 / user / create
:Vous n'êtes pas obligé d'utiliser les formulaires générés par Confide. Vous pouvez créer votre propre vue qui envoie des données au
POSTER
itinéraires.Restreindre l'accès
Ouvrir
app / routes.php
et ajoutez le code ci-dessous au bas du fichier:// Route du tableau de bord Route :: get ('userpanel / dashboard', function () return View :: make ('userpanel.dashboard');); // Applique le filtre d'authentification aux routes de admin / Route :: when ('userpanel / *', 'auth');Créer le fichier de vue
app / views / userpanel / dashboard.blade.php
:Auth utilisateur avec Confide Importe le bootstrap de Twitter et en définit le styleConfide :: user () -> nom d'utilisateur
email: Confide :: user () -> emailMaintenant que nous avons appliqué le filtre à tous les itinéraires de
panneau utilisateur
. Nous aurons besoin d’un petit ajustement pour nous assurer que leauth
Le filtre redirige l'utilisateur vers l'URL de connexion correcte. modifierapp / filters.php
en ligne 46 afin de remplacerreturn Redirect :: guest ('login');
avec:… Return Redirect :: guest ('utilisateurs / login');…Cela fait, le
panneau utilisateur / tableau de bord
Cette page ne sera disponible que pour les utilisateurs connectés à l'application. Le filtre redirige les utilisateurs invités vers le formulaire de connexion, puis de nouveau vers le tableau de bord une fois qu'ils sont connectés..Conclusion
Il est possible de noter que nous avons pu configurer rapidement l'authentification des utilisateurs pour notre application. En outre, le contrôleur, la migration et les itinéraires générés peuvent être modifiés pour personnaliser la gestion de chaque détail..
Nous ne nous sommes pas beaucoup concentrés sur
ConfideUser
trait, mais je crois qu'il est important de clarifier les choses. Une fois que votre modèle utilise leConfideUser
trait, vous n'avez pas à vous soucier de la mise en œuvre de la logique de base. Dans le même temps, vous pouvez toujours écraser les méthodes et les personnaliser, si nécessaire..Nous pouvons dire que Confide est une approche DRY de l’authentification de l’utilisateur. Il offre la commodité d'avoir la fonctionnalité prête à l'emploi tout en permettant une personnalisation élevée.
Découvrez Confide sur GitHub. Si vous rencontrez un problème en suivant ce didacticiel, n'hésitez pas à me contacter..