✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

System rejestracji i logowania użytkownika w Laravel

611

Laravel zapewnia wbudowany system rejestracji i logowania użytkowników. Większość programistów nie zdaje sobie sprawy z tego wbudowanego systemu (ja też byłem jednym z nich). Kiedy dowiedziałem się o tej funkcji, byłem zaskoczony. Oszczędza to dużo czasu na zbudowaniu od podstaw systemu logowania i rejestracji.

W tym artykule przyjrzymy się systemowi rejestracji i logowania użytkowników w Laravel – wbudowanej funkcji dostarczanej przez sam Laravel.

Jak wszyscy wiemy proces logowania i rejestracji przebiega poniżej przepływu, który zwykle wymaga integracji.

  • Użytkownik tworzy konto
  • Link potwierdzający zostanie wysłany na adres e-mail użytkownika
  • Gdy użytkownik kliknie link potwierdzający, zostanie aktywowany w twoim systemie.
  • Użytkownik loguje się do Twojej witryny i może uzyskać dostęp do stron

Wszystkie powyższe kroki zostały omówione w Laravelu. Nie musisz pisać kodu, aby zbudować ten system tworzenia użytkowników.

To powiedziawszy, przyjrzyjmy się systemowi rejestracji i logowania użytkowników w Laravel

Pierwsze kroki

Aby rozpocząć, powinieneś być gotowy z projektem Laravel. Jeśli go nie masz, utwórz go, uruchamiając polecenie:

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

Tutaj ‘laravel-dev’ to nazwa projektu Laravel. Użytkownik może zmienić tę nazwę.

Następnie musisz zintegrować uwierzytelnianie Laravel. Udaj się do katalogu głównego projektu w terminalu i uruchom poniższe polecenia jeden po drugim:

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

Polecenia te stworzy kontrolery uwierzytelniania, takich jak LoginController.php, RegisterController.phpitp, które znajdą Państwo w app/Http/Controllers/Authkatalogu. Tworzy również poglądy login.blade.php, register.blade.phpzgodnie z resources/view/authkatalogu.

Powyższe polecenia tworzą również app.blade.phpplik w resources/views/layoutskatalogu. Ten widok jest podstawowym układem aplikacji. Wykorzystuje framework Bootstrap CSS, ale użytkownik może go dostosować i zmienić projekt.

Uruchom polecenie migracji, które utworzy tabelę „users" w Twojej bazie danych.

php artisan migrate

Teraz, jeśli uruchomisz projekt Laravel w przeglądarce, zobaczysz linki do formularza logowania i rejestracji.

System rejestracji i logowania użytkownika w Laravel

Na tym etapie użytkownicy mogą założyć swoje konto i zalogować się do serwisu. Ale jak wspomniałem powyżej, zanim użytkownik będzie mógł uzyskać dostęp do systemu, powinien potwierdzić swoje konto.

W kolejnym kroku zobaczymy, jak przeprowadzić proces weryfikacji adresu e-mail użytkownika.

Weryfikacja adresu e-mail

Budując system rejestracji, podczas rejestracji użytkownika wysyłasz użytkownikom link aktywacyjny. Ten link aktywacyjny będzie służył do weryfikacji konta użytkownika. Gdy użytkownik kliknie link aktywacyjny, aktywujemy go. Innymi słowy, po weryfikacji konta użytkownik może przeglądać strony Twojej aplikacji.

Laravel zapewnia wbudowany system procesu weryfikacji adresu e-mail dla nowo zarejestrowanego użytkownika. Za pomocą tego systemu zarejestrowany użytkownik otrzyma wiadomość e-mail z linkiem aktywacyjnym. Po aktywacji konta użytkownik będzie mógł uzyskać dostęp do systemu.

Otwórz AppUser.phpplik i upewnij się, że model „Użytkownik” realizuje IlluminateContractsAuthMustVerifyEmailumowę.

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

Jak to działa? Jeśli sprawdzisz plik migracji, tabela „użytkownicy” zawiera email_verified_atkolumnę. Ta kolumna posłuży do sprawdzenia, czy użytkownik aktywował swoje konto, czy nie. Jeśli konto jest aktywowane, w tej kolumnie powinna znajdować się data i godzina aktywacji.

Po uruchomieniu polecenia uwierzytelniania tworzy AuthVerificationControllerklasę, która ma napisaną logikę do wysyłania linków weryfikacyjnych i weryfikacji wiadomości e-mail. Deweloper może sprawdzić ten plik. Aby zarejestrować niezbędne trasy dla tego kontrolera, zapisz w routes/web.phppliku poniższe trasy .

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

Użytkownik może chronić swoje trasy, które powinny znajdować się za logowaniem. Aby chronić trasy, musisz zastosować się middleware('verified')do tych tras. Następnie te chronione trasy będą dostępne tylko dla zweryfikowanych kont.

Możesz napisać kod chroniący trasę w następujący sposób:

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

Jeśli chcesz mieć kontrolę nad tym, gdzie przekierować użytkownika po weryfikacji, otwórz AuthVerificationControllerplik. Plik posiada zmienną, $redirectToktórej użyje do przekierowania. Zmień tę trasę zgodnie z wymaganiami.

protected $redirectTo = '/home';

Logowanie i rejestracja użytkownika

Jesteś teraz gotowy do przetestowania systemu logowania i rejestracji użytkowników. Ponieważ mamy do czynienia z procesem rejestracji, Twój system powinien być w stanie wysłać wiadomość e-mail. Do wysyłania e-maili możesz używać serwera SMTP Gmaila. Aby uzyskać więcej informacji, przeczytaj nasz artykuł Wysyłanie wiadomości e-mail przez serwer SMTP Gmaila w Laravel.

Uruchom lokalny serwer programistyczny za pomocą polecenia:

php artisan serve

Utwórz konto użytkownika na stronie rejestracji tutaj – http://localhost:8000/register

System rejestracji i logowania użytkownika w Laravel

Po przesłaniu formularza otrzymasz link weryfikacyjny na swój e-mail w następujący sposób:

System rejestracji i logowania użytkownika w Laravel

Pamiętaj, że Laravel umożliwia zalogowanie się na Twoje konto, nawet jeśli jeszcze go nie zweryfikowałeś. Ale nie możesz uzyskać dostępu do chronionej trasy.

Dodałem oprogramowanie pośredniczące dla trasy profile. Bez weryfikacji konta, jeśli spróbujesz odwiedzić stronę http://localhost:8000/profile, nastąpi przekierowanie do adresu URL http://localhost:8000/email/verify.

System rejestracji i logowania użytkownika w Laravel

Śmiało i zweryfikuj swoje konto. Sprawdź tabelę „użytkownicy” w bazie danych, a zobaczysz email_verified_atkolumnę wypełnioną datą i godziną aktywacji. Oznacza to, że pomyślnie zweryfikowałeś swoje konto. Teraz powinieneś mieć dostęp do chronionych tras.

Mam nadzieję, że rozumiesz, jak korzystać z systemu rejestracji i logowania użytkowników w Laravel. Podziel się swoimi przemyśleniami i sugestiami w poniższym komentarzu.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów