Autentificarea utilizatorilor face parte din aproape fiecare aplicație web. Deși este obișnuit, o privire mai profundă arată că nu este așa de simplu cum pare. Amintiți-vă că validarea, recuperarea parolei și confirmarea prin e-mail sunt vitale pentru orice formă autentică de autentificare.
Confide este o soluție de autentificare pentru Laravel făcută pentru a reduce munca repetitivă care implică gestionarea utilizatorilor. Este o abordare DRY pentru funcții precum crearea contului, autentificarea, logoutul, confirmarea prin e-mail, resetarea parolei etc..
De la versiunile anterioare, Confide a avut întotdeauna o bună adopție în rândul dezvoltatorilor și o largă prezență în proiectele Laravel. Cu o actualizare recentă, pachetul este acum compatibil cu Laravel 4.2, care este cea mai recentă versiune stabilă a lui Laravel în momentul acestei scrieri.
În acest tutorial, vom începe de la început prin crearea aplicației Laravel folosind Compozitor și apoi:
Mai întâi de toate, hai să creăm aplicația utilizând Composer.
$ compozitor crea-proiect laravel / laravel myapp
Acum, în interiorul directorului de proiect, editați necesita
cheie de composer.json
fișier și includ încredere de intrare:
"necesită": "laravel / framework": "~ 4.2", "zizaco / confide": "~ 4.0.0dev",
Apoi rulați actualizarea compozitorului pe noua noastră dependență:
$ compozitor update zizaco / confide
În config / app.php
a proiectului nostru, adaugă 'Zizaco \ Încredeți \ ServiceProvider'
până la sfârșitul seriei de furnizori:
... "furnizori" => array ("Iluminate \ Fundația \ Furnizori \ ArtisanServiceProvider", "Iluminate \ Auth \ AuthServiceProvider", ... "Zizaco \ Confide \ ServiceProvider"
Adăugați, de asemenea 'Confide' => 'Zizaco \ Confide \ Facade'
la matricea de pseudonime din același fișier:
... 'aliases' => array ('App' => 'Iluminate \ Support \ Facades \ App', 'Artisan' => 'Zizaco \ Confide \ ",),
Seteaza adresa
și Nume
în config / mail.php
. Această configurație va fi utilizată pentru a trimite utilizatorilor mesaje de confirmare a contului și de resetare a parolei. Pentru acest tutorial, aveți posibilitatea să utilizați serverul personal SMTP pentru a face lucrurile să funcționeze
De exemplu, dacă utilizați Gmail, puteți face următoarele:
'driver' => 'smtp', 'host' => 'smtp.gmail.com', // pentru scopuri de testare 'din' => => 'MyApp'), ... 'username' => '[email protected]', 'parola' => ',...
Acum, generați migrarea Configure prin difuzarea:
$ php artizan confide: emigrare $ php artizan migrează
Aceasta va configura un tabel care conține e-mail
, parola
, remember_token
, Codul de confirmare
și confirmat
coloane. Acestea sunt câmpurile implicite necesare pentru Confide. Simțiți-vă liber să adăugați mai multe coloane la masă mai târziu.
Înlocuiți tot codul în app / modele / User.php
la:
Zizaco \ Încredeți \ ConfideUser
trăsătura va avea grijă de cele mai multe comportamente ale modelului de utilizator.UtilizatoriController și Rute
Confide conține un instrument generator care va crea un controler și va scrie rutele pentru noi. Pentru a crea
UsersController
și să înregistreze rutele pentru a rula aceste comenzi:$ php artizan confide: controler $ php artizan confide: ruteDeoarece au fost create noi clase, va trebui să actualizăm fișierele autoload.
$ compunere dump-autoloadGata de folosire
Am terminat! Aplicația noastră are acum toate caracteristicile oferite de Confide. Rulați serverul de aplicații sunând
php artisan servi
în terminal.Următoarele
OBȚINE
rutele sunt disponibile în aplicația noastră:http: // localhost: 8000 / users / create http: // localhost: 8000 / utilizatori / login http: // localhost: 8000 / users / forgot_passwordPentru a accesa utilizatorul curent, putem apela
Încrede :: utilizator ()
. Prin urmare, pentru a afișa numele utilizatorului curent trebuie să înlocuiți conținutulapp / views / hello.php
cu:
Auth utilizator cu Confide Salut Confide
Bună
Acum mergeți mai departe și accesați-vă
http: // localhost: 8000 / utilizatori / creați
pentru a crea primul utilizator. Veți primi un e-mail de confirmare imediat după trimiterea formularului (dacă ați completatconfig / mail.php
cu valorile corecte). Conectați-vă și veți vedea numele de utilizator pe ecran.Îmbunătățirea vizuale
Formele implicite de Confide sunt compatibile cu Bootstrap. Deci, nu fi intimidat de "urâțenia" lor pe o pagină fără CSS. Editați controlerul generat de Confide (
UserController.php
) și actualizați metoda de creare a:Astfel, aplicația noastră va face vizualizarea
users.signup
. Să creați această vizualizare înapp / views / utilizatori
la fel designup.blade.php
cu următorul conținut:Auth utilizator cu Confide Importează bootstrap-ul de tip twitter și stabilește un anumit stilInscrie-te
Îmbunătățește formularul de înscriere Confide Confide :: makeSignupForm () -> render ();După aceasta, vom avea un rezultat mult mai elegant în formularul de creare a utilizatorului
http: // localhost: 8000 / utilizator / crea
:Nu trebuie să utilizați formularele generate de Confide. Puteți crea o vizualizare proprie care trimite date către
POST
rute.Restricționarea accesului
Deschis
app / routes.php
și adăugați codul de mai jos în partea de jos a fișierului:// Traseul tabloului de bord Route :: get ('userpanel / dashboard', function () return View :: make ('userpanel.dashboard');); // Aplică filtrul auth pe rutele din admin / Route :: when ('userpanel / *', 'auth');Creați fișierul de vizualizare
app / views / userpanel / dashboard.blade.php
:Auth utilizator cu Confide Importează bootstrap-ul de tip twitter și stabilește un anumit stilConfide :: user () -> nume utilizator
e-mail: Confide :: utilizator () -> emailAcum că am aplicat filtrul pe toate căile din interiorul acestuia
userpanel
. Vom avea nevoie de un mic truc pentru a ne asigura căAUTH
filtrul va redirecționa utilizatorul la adresa URL corectă de conectare. Editați | ×app / filters.php
pe net 46 pentru a le înlocuireturnează Redirect :: guest ('login');
cu:... întoarcere Redirect :: oaspete ("utilizatori / login"); ...Asta a făcut,
userpanel / tablou de bord
pagina va fi disponibilă numai pentru utilizatorii conectați la aplicație. Filtrul va redirecționa utilizatorii oaspeți la formularul de conectare și apoi va reveni la tabloul de bord odată ce sunt conectați.Concluzie
Este posibil să rețineți că am reușit să configuram rapid autentificarea utilizatorului pentru aplicația noastră. De asemenea, controlerul generat, migrarea și rutele pot fi editate pentru a personaliza modul în care vom gestiona fiecare detaliu.
Nu ne-am concentrat prea mult pe
ConfideUser
dar cred că este important să clarificăm lucrurile. Odată ce modelul dvs. utilizeazăConfideUser
trait, nu trebuie să vă faceți griji cu privire la implementarea logicii de bază. În același timp, puteți încă să suprascrieți metodele și să le personalizați, dacă este necesar.Putem spune că Confide este o abordare DRY pentru autentificarea utilizatorilor. Acesta oferă confortul de a avea funcționalitate în afara casetei, în timp ce încă permite personalizarea înaltă.
Verificați Confirmați pe GitHub. Dacă ați avut o problemă în timp ce urmați acest tutorial, nu ezitați să mă contactați.