Gebruikersauthenticatie maakt deel uit van bijna elke webapplicatie. Hoewel het gebruikelijk is, laat een diepere blik zien dat het niet zo eenvoudig is als het lijkt. Vergeet niet dat validatie, wachtwoordherstel en e-mailbevestiging van vitaal belang zijn voor elk fatsoenlijk authenticatieformulier.
Confide is een authenticatieoplossing voor Laravel om het repetitieve werk met betrekking tot het beheer van gebruikers te verminderen. Het is een DROGE benadering van functies zoals het maken van een account, inloggen, uitloggen, bevestiging per e-mail, wachtwoordreset, enz.
Sinds de vroege versies had Confide altijd goede adoptie onder ontwikkelaars en een brede aanwezigheid in Laravel-projecten. Met een recente update is het pakket nu compatibel met Laravel 4.2, de laatste stabiele release van Laravel op het moment van schrijven.
In deze zelfstudie beginnen we vanaf het begin door onze Laravel-app te maken met Composer en vervolgens:
Laten we eerst de toepassing maken met Composer.
$ composer create-project laravel / laravel myapp
Bewerk nu met de binnenkant van de projectdirectory de vereisen
sleutel van composer.json
bestand en voeg vertrouwelijke invoer toe:
"require": "laravel / framework": "~ 4.2", "zizaco / confide": "~4.0@dev",
Voer dan de update van de componist uit over onze nieuwe afhankelijkheid:
$ composer update zizaco / confide
In config / app.php
van ons project, toevoegen 'Zizaco \ Confide \ ServiceProvider'
aan het einde van de array van providers:
... 'providers' => array ('Illuminate \ Foundation \ Providers \ ArtisanServiceProvider', 'Illuminate \ Auth \ AuthServiceProvider', ... 'Zizaco \ Confide \ ServiceProvider',), ...
Voeg ook toe 'Confide' => 'Zizaco \ Confide \ Facade'
naar de array aliassen in hetzelfde bestand:
... 'aliassen' => array ('App' => 'Illuminate \ Support \ Facades \ App', 'Artisan' => 'Illuminate \ Support \ Facades \ Artisan', ... 'Confide' => 'Zizaco \ Confide \ Facade ',),
Stel de adres
en naam
in config / mail.php
. Deze configuratie zal worden gebruikt om e-mailbevestigingen voor de accountbevestiging en het wachtwoord te verzenden naar de gebruikers. Voor deze zelfstudie kunt u uw persoonlijke SMTP-server gebruiken om dingen te laten werken
Als u bijvoorbeeld Gmail gebruikt, kunt u het volgende doen:
'driver' => 'smtp', 'host' => 'smtp.gmail.com', // Voor testdoeleinden 'from' => array ('address' => '[email protected]', 'name' => 'MyApp'), ... 'gebruikersnaam' => '[email protected]', 'wachtwoord' => ',...
Genereer de Confide-migraties nu door te lopen:
$ php artisan confide: migration $ php artisan migrate
Hiermee wordt een tabel met daarin ingesteld e-mail
, wachtwoord
, remember_token
, bevestigingscode
en bevestigd
kolommen. Dit zijn de standaardvelden die nodig zijn voor Confide. Voel je vrij om later meer kolommen aan de tabel toe te voegen.
Vervang alle code in app / modellen / User.php
naar:
Zizaco \ Confide \ ConfideUser
eigenschap zal zorgen voor de meeste gedragingen van het gebruikersmodel.GebruikersController en routes
Confide bevat een generator tool die een controller zal maken en de routes voor ons zal schrijven. Om de te maken
UsersController
en om de routes te registreren, laten we deze commando's uitvoeren:$ php artisan confide: controller $ php artisan confide: routesAangezien er nieuwe klassen zijn gemaakt, moeten we de autoload-bestanden vernieuwen.
$ composer dump-autoloadKlaar voor gebruik
We zijn klaar! Onze applicatie heeft nu alle functies die Confide biedt. Voer de applicatieserver uit door te bellen
php artisan serveren
in de terminal.Het volgende
KRIJGEN
routes zijn beschikbaar in onze applicatie:http: // localhost: 8000 / users / create http: // localhost: 8000 / users / login http: // localhost: 8000 / users / forgot_passwordOm toegang te krijgen tot de huidige gebruiker kunnen we bellen
Vertrouw :: gebruiker ()
. Daarom moeten we de inhoud van. Vervangen door de naam van de huidige gebruikerapp / views / hello.php
met:
Gebruikersauthentic met Confide Hallo Confide
Hoi
Ga je gang en toegang
http: // localhost: 8000 / users / creëren
om onze eerste gebruiker te maken. U ontvangt direct na het indienen van het formulier een bevestigingsmail (als u deconfig / mail.php
met de juiste waarden). Log in en je ziet de gebruikersnaam op het scherm.Visuals verbeteren
De standaardvormen van Confide zijn compatibel met Bootstrap. Laat je daarom niet intimideren door de "lelijkheid" van hen op een pagina zonder CSS. Bewerk de controller gegenereerd door Confide (
UserController.php
) en werk de aanmaakmethode bij naar:Dus onze applicatie zal de weergave weergeven
users.signup
. Laten we deze weergave maken inapp / views / gebruikers
zoalssignup.blade.php
met de volgende inhoud:Gebruikersauthentic met Confide Importeert twitter-bootstrap en stelt wat styling inInschrijven
Geeft het aanmeldingsformulier van Confide Confide :: makeSignupForm () -> render ();Hierna hebben we een veel eleganter resultaat in het formulier voor het maken van gebruikers
http: // localhost: 8000 / user / creëren
:U hoeft de formulieren die door Confide zijn gegenereerd niet te gebruiken. U kunt uw eigen weergave maken die gegevens naar de verzendt
POST
routes.Toegang beperken
Open
app / routes.php
en voeg de onderstaande code toe aan de onderkant van het bestand:// Dashboard-route Route :: get ('gebruikerspaneel / dashboard', functie () return View :: make ('userpanel.dashboard');); // Past filter toe op de routes binnen admin / Route :: when ('userpanel / *', 'auth');Maak het weergavebestand
app / views / Userpanel / dashboard.blade.php
:Gebruikersauthentic met Confide Importeert twitter-bootstrap en stelt wat styling inConfide :: user () -> gebruikersnaam
e-mail: Confide :: user () -> emailNu hebben we het filter op alle routes binnen toegepast
Userpanel
. We zullen een kleine aanpassing nodig hebben om ervoor te zorgen dat deauth
filter stuurt de gebruiker door naar de juiste inlog-URL. Bewerkapp / filters.php
online 46 om te vervangenreturn Redirect :: guest ('login');
met:... return Redirect :: guest ('users / login'); ...Dat gedaan, de
Userpanel / dashboard
pagina is alleen beschikbaar voor gebruikers die zijn aangemeld bij de app. Het filter leidt gastgebruikers om naar het aanmeldingsformulier en vervolgens terug naar het dashboard zodra ze zijn ingelogd.Conclusie
Het is mogelijk om op te merken dat we snel gebruikersverificatie voor onze app konden instellen. Ook kunnen de gegenereerde controller, migratie en routes worden bewerkt om aan te passen hoe we elk detail zullen behandelen.
We hebben niet veel aandacht besteed aan de
ConfideUser
eigenschap, maar ik geloof dat het belangrijk is om dingen duidelijk te maken. Zodra uw model deConfideUser
eigenschap, u hoeft zich geen zorgen te maken over het implementeren van de basislogica. Tegelijkertijd kunt u de methoden nog steeds overschrijven en indien nodig aanpassen.We kunnen zeggen dat Confide een DROGE benadering is van gebruikersauthenticatie. Het biedt het gemak van de functionaliteit out-of-the-box terwijl het nog steeds hoge maatwerk toestaat.
Bekijk Confide on GitHub. Als je een probleem had tijdens het volgen van deze tutorial, neem dan gerust contact met me op.