✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Käyttäjärekisteröinti- ja kirjautumisjärjestelmä Laravelissa

17

Laravel tarjoaa sisäänrakennetun käyttäjän rekisteröinti- ja kirjautumisjärjestelmän. Suurin osa kehittäjistä ei ole tietoinen tästä sisäänrakennetusta järjestelmästä (olin myös yksi heistä). Kun sain tietää tästä ominaisuudesta, olin yllättynyt. Se säästää paljon aikaa kirjautumis- ja rekisteröintijärjestelmän rakentamisesta tyhjästä.

Tässä artikkelissa tutkitaan käyttäjien rekisteröinti- ja kirjautumisjärjestelmää Laravelissa – Laravelin itse tarjoama sisäänrakennettu ominaisuus.

Kuten me kaikki tiedämme, sisäänkirjautumis- ja rekisteröintiprosessin virta on alle, mikä yleensä on integroitava.

  • Käyttäjä luo tilin
  • Vahvistuslinkki lähetetään käyttäjän sähköpostiosoitteeseen
  • Kun käyttäjä napsauttaa vahvistuslinkkiä, hän aktivoituu järjestelmässäsi.
  • Käyttäjä kirjautuu verkkosivustollesi ja pääsee sivuille

Kaikki yllä olevat vaiheet käsitellään Laravelissa. Sinun ei tarvitse kirjoittaa koodia tämän käyttäjän luomisjärjestelmän rakentamiseksi.

Tämän sanottuaan katsotaanpa käyttäjien rekisteröinti- ja kirjautumisjärjestelmää Laravelissa

Päästä alkuun

Aloittamiseksi sinun on oltava valmis Laravel-projektiin. Jos sinulla ei ole sitä, luo se suorittamalla komento:

composer create-project --prefer-dist laravel/laravel laravel-dev

Tässä ‘laravel-dev’ on Laravel-projektin nimi. Käyttäjä voi muuttaa tätä nimeä.

Seuraavaksi sinun on integroitava Laravel-todennus. Siirry päätelaitteen projektin juurihakemistoon ja suorita seuraavat komennot yksi kerrallaan:

composer require laravel/ui --dev
php artisan ui vue --auth
npm install && npm run dev

Nämä komennot luovat autentikointi ohjaimia kuten LoginController.php, RegisterController.phpjne josta löydät että app/Http/Controllers/Authhakemistoon. Se luo myös näkymiä login.blade.php, register.blade.phpalle resources/view/authhakemistoon.

Yllä olevat komennot myös luovat app.blade.phptiedoston resources/views/layoutshakemistoon. Tämä näkymä on sovelluksen perusta. Se käyttää Bootstrap CSS -kehystä, mutta käyttäjä voi muokata sitä ja muuttaa suunnittelua.

Suorita siirtokomento, joka luo tietokantaan ” käyttäjätaulukon ”.

php artisan migrate

Nyt jos suoritat Laravel-projektin selaimella, näet kirjautumis- ja rekisteröintilomakkeen linkit.

Käyttäjärekisteröinti- ja kirjautumisjärjestelmä Laravelissa

Tässä vaiheessa käyttäjät voivat luoda tilinsä ja kirjautua sisään verkkosivustolle. Mutta kuten edellä mainitsin, ennen kuin käyttäjä voi käyttää järjestelmää, hänen olisi pitänyt vahvistaa tilinsä.

Seuraavassa vaiheessa näemme, kuinka käyttäjän sähköpostivahvistus suoritetaan.

sähköpostivarmistus

Rekisteröintijärjestelmää rakennettaessa lähetät käyttäjille aktivointilinkin rekisteröinnin yhteydessä. Tätä aktivointilinkkiä käytetään käyttäjätilin vahvistamiseen. Kun käyttäjä napsauttaa aktivointilinkkiä, teemme kyseisen käyttäjän aktiiviseksi. Toisin sanoen tarkistettuaan tilin käyttäjä voi selata sovelluksesi sivuja.

Laravel tarjoaa sisäänrakennetun järjestelmän sähköpostivahvistusprosessista vasta rekisteröidylle käyttäjälle. Rekisteröitynyt käyttäjä saa tätä järjestelmää käyttämällä sähköpostin, jossa on aktivointilinkki. Kun tili on aktivoitu, käyttäjä voi käyttää järjestelmää.

Avaa AppUser.phptiedosto ja varmista, että Käyttäjä-malli toteuttaa IlluminateContractsAuthMustVerifyEmailsopimuksen.

<?php
 
namespace App;
 
use IlluminateContractsAuthMustVerifyEmail;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;
 
class User extends Authenticatable implements MustVerifyEmail
{
    ...
    ...
}

Kuinka se toimii? Jos tarkistat siirtotiedoston, käyttäjien taulukossa on email_verified_atsarake. Tätä saraketta käytetään tarkistamaan, onko käyttäjä aktivoinut tilinsä. Jos tili on aktivoitu, tässä sarakkeessa tulisi olla aktivointipäivä ja -aika.

Kun suoritat todennuskomennon, se luo AuthVerificationControllerluokan, johon on kirjoitettu logiikka lähettämään vahvistuslinkkejä ja vahvistamaan sähköposteja. Kehittäjä voi tarkistaa tämän tiedoston. Rekisteröi tarvittavat reitit tälle ohjaimelle kirjoittamalla alla olevat reitit routes/web.phptiedostoon.

Auth::routes(['verify' => true]);

Käyttäjä voi suojata reittejä, joiden tulisi olla kirjautumisen takana. Reittien suojaamiseksi sinun on haettava middleware('verified')kyseisiä reittejä. Tämän jälkeen näihin suojattuihin reitteihin pääsee vain vahvistetuilla tileillä.

Voit kirjoittaa koodin reitin suojaamiseksi seuraavasti:

Route::get('profile', function() {
    return '<h1>This is profile page</h1>';
})->middleware('verified');

Jos haluat hallita käyttäjän uudelleenohjausta vahvistuksen jälkeen, avaa AuthVerificationControllertiedosto. Tiedostossa on muuttuja, $redirectTojota käytetään uudelleenohjaukseen. Muuta tätä reittiä vaatimuksesi mukaan.

protected $redirectTo = '/home';

Käyttäjien sisäänkirjautuminen ja rekisteröinti

Olet nyt valmis testaamaan käyttäjän kirjautumis- ja rekisteröintijärjestelmää. Koska käsittelemme kirjautumisprosessia, järjestelmän pitäisi pystyä lähettämään sähköpostia. Voit käyttää Gmailin SMTP-palvelinta sähköpostiviestien lähettämiseen. Lisätietoja on artikkelissamme Sähköpostin lähettäminen Gmail SMTP -palvelimen kautta Laravelissa.

Käynnistä paikallinen kehityspalvelin komennolla:

php artisan serve

Luo käyttäjän tili rekisteröintisivulla täältä – http: // localhost: 8000 / register

Käyttäjärekisteröinti- ja kirjautumisjärjestelmä Laravelissa

Kun lähetät lomakkeen, saat vahvistuslinkin sähköpostiisi seuraavasti:

Käyttäjärekisteröinti- ja kirjautumisjärjestelmä Laravelissa

Huomaa, että Laravel antaa sinun kirjautua tilillesi, vaikka et ole vielä vahvistanut tiliä. Mutta et pääse suojatulle reitille.

Olen lisännyt reitille väliohjelman profile. Vahvistamatta tiliä yrität käydä http: // localhost: 8000 / profile -sivulla, se ohjaa osoitteeseen http: // localhost: 8000 / email / verif URL.

Käyttäjärekisteröinti- ja kirjautumisjärjestelmä Laravelissa

Vahvista tilisi. Tarkista tietokannan käyttäjien taulukko ja näet email_verified_atsarakkeen täyttävän aktivointipäivän ja -ajan. Se tarkoittaa, että olet vahvistanut tilisi onnistuneesti. Nyt sinun on voitava käyttää suojattuja reittejä.

Toivon, että ymmärrät kuinka rekisteröidä ja kirjaudu sisään Laravelissa. Ole hyvä ja jaa ajatuksiasi ja ehdotuksiasi alla olevassa kommentissa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja