...
✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Användarregistrering och inloggningssystem i Laravel

17

Laravel erbjuder inbyggt användarregistrerings- och inloggningssystem. De flesta utvecklare känner inte till det här inbyggda systemet (jag var också en av dem). När jag fick veta om den här funktionen blev jag förvånad. Det sparar mycket tid från att skapa ett inloggnings- och registreringssystem från grunden.

I den här artikeln studerar vi användarregistrerings- och inloggningssystemet i Laravel – den inbyggda funktionen som tillhandahålls av Laravel själv.

Som vi alla vet har inloggnings- och registreringsprocessen under flödet som vanligtvis behöver integreras.

  • Användaren skapar ett konto
  • Bekräftelselänken skickas på användarens e-postadress
  • När användaren klickar på bekräftelselänken aktiveras de på ditt system.
  • Användaren loggar in på din webbplats och kan komma åt sidorna

Alla ovanstående steg beskrivs i Laravel. Du behöver inte skriva en kod för att bygga detta användarskapande system.

Med detta sagt, låt oss ta en titt på användarregistrerings- och inloggningssystemet i Laravel

Komma igång

För att komma igång bör du vara redo med Laravel-projektet. Om du inte har det skapar du det genom att köra kommandot:

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

Här är ‘laravel-dev’ namnet på Laravel-projektet. Användaren kan ändra detta namn.

Därefter måste du integrera Laravel-autentisering. Gå över till projektets rotkatalog i terminalen och kör kommandona nedan en efter en:

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

Dessa kommandon skapar autentiseringsstyrenheter som LoginController.php, RegisterController.phpetc, som du hittar i app/Http/Controllers/Authkatalogen. Det skapar också en utsikt login.blade.php, register.blade.phpenligt resources/view/authkatalogen.

Ovanstående kommandon skapar också en app.blade.phpfil under resources/views/layoutskatalogen. Denna vy är en baslayout för applikationen. Den använder Bootstrap CSS-ramverket men användaren kan anpassa den och ändra design.

Kör migreringskommandot som skapar en "användartabell" i din databas.

php artisan migrate

Nu om du kör Laravel-projektet i webbläsaren ser du länkarna för inloggnings- och registreringsformulär.

Användarregistrering och inloggningssystem i Laravel

I detta skede kan användare skapa sitt konto och logga in på webbplatsen. Men som jag nämnde ovan, innan en användare kan komma åt systemet borde de ha bekräftat sitt konto.

I nästa steg kommer vi att se hur man utför e-postverifieringsprocessen för en användare.

mejl verifikation

När du skapar ett registreringssystem skickar du en användarlänk till användarna när du registrerar dig. Denna aktiveringslänk kommer att användas för att verifiera användarkontot. En gång klickar användaren på en aktiveringslänk så gör vi den användaren aktiv. Med andra ord, efter att kontot har verifierats kan användaren bläddra bland sidorna i din applikation.

Laravel tillhandahåller ett inbyggt system för e-postverifiering för en nyregistrerad användare. Med detta system får en registrerad användare ett e-postmeddelande med en aktiveringslänk. När du aktiverar kontot kan användaren komma åt systemet.

Öppna AppUser.phpfilen och se till att användarmodellen implementerar IlluminateContractsAuthMustVerifyEmailkontrakt.

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

Hur fungerar det? Om du markerar migreringsfilen innehåller tabellen ‘användare’ en email_verified_atkolumn. Den här kolumnen kommer att användas för att verifiera om användaren har aktiverat sitt konto eller inte. Om kontot är aktiverat bör den här kolumnen ha datum och tid för aktivering.

När du kör autentiseringskommandot skapar det en AuthVerificationControllerklass som har logik skriven för att skicka verifieringslänkar och verifiera e-postmeddelanden. Utvecklaren kan kontrollera den här filen. För att registrera nödvändiga rutter för denna styrenhet, skriv nedanstående rutter i routes/web.phpfilen.

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

Användaren kan skydda sina rutter som ska ligga bakom inloggningen. För att skydda rutterna måste du ansöka middleware('verified')om dessa rutter. Efter detta kan dessa skyddade rutter endast nås via verifierade konton.

Du kan skriva koden för att skydda rutten enligt följande:

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

Om du vill ha kontroll över var du ska omdirigera användaren efter verifiering öppnar du AuthVerificationControllerfilen. Filen har variabeln $redirectTosom kommer att användas för omdirigering. Ändra denna rutt enligt dina krav.

protected $redirectTo = '/home';

Användarinloggning och registrering

Du är nu redo att testa användarinloggnings- och registreringssystemet. Eftersom vi har att göra med registreringsprocessen bör ditt system kunna skicka ett e-postmeddelande. Du kan använda Gmail SMTP-servern för att skicka e-post. För mer information, läs vår artikel Skicka e-post via Gmail SMTP-server i Laravel.

Starta den lokala utvecklingsservern med kommandot:

php artisan serve

Skapa ett användarkonto på registreringssidan här – http: // localhost: 8000 / register

Användarregistrering och inloggningssystem i Laravel

När du skickar in ett formulär får du verifieringslänken på din e-postadress enligt följande:

Användarregistrering och inloggningssystem i Laravel

Observera att Laravel låter dig logga in på ditt konto även om du inte har verifierat kontot ännu. Men du kan inte komma åt den skyddade rutten.

Jag har lagt till middleware för rutten profile. Utan att verifiera kontot om du försöker besöka http: // localhost: 8000 / profilsidan kommer det att omdirigeras till http: // localhost: 8000 / email / verifiera URL.

Användarregistrering och inloggningssystem i Laravel

Fortsätt och verifiera ditt konto. Kontrollera tabellen ‘användare’ i databasen så kommer du att se email_verified_atkolumnen fylld på datum och tid för aktivering. Det betyder att du har verifierat ditt konto framgångsrikt. Nu ska du kunna komma åt skyddade rutter.

Jag hoppas att du förstår hur du använder användarregistrerings- och inloggningssystemet i Laravel. Dela dina tankar och förslag i kommentaren nedan.

relaterade artiklar

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer