✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Система реєстрації та входу користувачів в Laravel

44

Laravel забезпечує вбудовану систему реєстрації та реєстрації користувачів. Більшість розробників не знають про цю вбудовану систему (я також був одним із них). Коли я дізнався про цю функцію, я був здивований. Це економить багато часу на побудові системи входу та реєстрації з нуля.

У цій статті ми вивчаємо систему реєстрації та входу користувачів у Laravel – вбудовану функцію, яку надає сам Laravel.

Як ми всі знаємо, процес входу та реєстрації має нижчий потік, який зазвичай потрібно інтегрувати.

  • Користувач створює обліковий запис
  • Посилання для підтвердження буде надіслано на електронну адресу користувача
  • Щойно користувач натискає посилання для підтвердження, вони активуються у вашій системі.
  • Користувач увійдіть на свій веб-сайт і можете отримати доступ до сторінок

Усі вищезазначені кроки описані в Laravel. Вам не потрібно писати код для побудови цієї системи створення користувачів.

Сказавши це, давайте подивимось на систему реєстрації та реєстрації користувачів у Laravel

Починаємо

Для початку ви повинні бути готові до проекту Laravel. Якщо у вас його немає, створіть його, виконавши команду:

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

Тут ‘laravel-dev’ – це назва проекту Laravel. Користувач може змінити це ім’я.

Далі вам слід інтегрувати автентифікацію Laravel. Перейдіть до кореневого каталогу проекту в терміналі та виконайте наведені нижче команди по черзі:

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

Ці команди будуть створювати контролери аутентифікації, наприклад LoginController.php, RegisterController.phpі т.д., які ви знайдете в app/Http/Controllers/Authкаталозі. Він також створює погляди login.blade.php, register.blade.phpпід resources/view/authкаталогом.

Наведені вище команди також створюють app.blade.phpфайл у resources/views/layoutsкаталозі. Цей вигляд є базовим макетом програми. Він використовує фреймворк Bootstrap CSS, але користувач може налаштувати його та змінити дизайн.

Запустіть команду міграції, яка створить таблицю "користувачі" у вашій базі даних.

php artisan migrate

Тепер, якщо ви запустите проект Laravel у браузері, ви побачите посилання на форму входу та реєстрації.

Система реєстрації та входу користувачів в Laravel

На цьому етапі користувачі можуть створити свій обліковий запис і увійти на веб-сайт. Але, як я вже згадував вище, перш ніж користувач зможе отримати доступ до системи, йому слід було підтвердити свій рахунок.

На наступному кроці ми побачимо, як виконати процес перевірки електронної пошти користувача.

Підтвердження електронної пошти

Створюючи систему реєстрації, під час реєстрації користувача ви надсилаєте користувачам посилання для активації. Це посилання для активації буде використано для підтвердження облікового запису користувача. Одного разу користувач натискає посилання для активації, тоді ми робимо його активним. Іншими словами, після підтвердження облікового запису користувач може переглядати сторінки вашої програми.

Laravel пропонує вбудовану систему процесу перевірки електронної пошти для нещодавно зареєстрованого користувача. За допомогою цієї системи зареєстрований користувач отримає електронний лист із посиланням для активації. Після активації облікового запису користувач зможе отримати доступ до системи.

Відкрийте AppUser.phpфайл і переконайтесь, що модель "Користувач" реалізує IlluminateContractsAuthMustVerifyEmailконтракт.

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

Як це працює? Якщо ви перевірите файл перенесення, таблиця "користувачі" містить email_verified_atстовпець. Цей стовпець буде використаний для перевірки того, чи користувач активував свій обліковий запис чи ні. Якщо рахунок активовано, у цьому стовпці повинні бути дата та час активації.

Коли ви запускаєте команду автентифікації, вона створює AuthVerificationControllerклас, який має логіку для надсилання посилань для перевірки та перевірки електронних листів. Розробник може перевірити цей файл. Щоб зареєструвати необхідні маршрути для цього контролера, напишіть у routes/web.phpфайл наступні маршрути .

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

Користувач може захистити свої маршрути, які повинні стояти за логіном. Щоб захистити маршрути, потрібно подати заявку middleware('verified')на ці маршрути. Після цього ці захищені маршрути можуть отримати доступ лише перевірені облікові записи.

Ви можете написати код для захисту маршруту наступним чином:

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

Якщо ви хочете мати контроль над тим, куди перенаправляти користувача після перевірки, відкрийте AuthVerificationControllerфайл. У файлі є змінна, $redirectToяка буде використовуватися для переспрямування. Змініть цей маршрут відповідно до ваших вимог.

protected $redirectTo = '/home';

Вхід та реєстрація користувача

Тепер ви готові протестувати систему входу та реєстрації користувача. Оскільки ми маємо справу з процесом реєстрації, ваша система повинна мати можливість відправити електронне повідомлення. Ви можете використовувати сервер SMTP Gmail для надсилання електронних листів. Детальніше читайте в нашій статті Надсилання електронної пошти через SMTP-сервер Gmail у Laravel.

Запустіть локальний сервер розробки за допомогою команди:

php artisan serve

Створіть обліковий запис користувача на сторінці реєстрації тут – http: // localhost: 8000 / register

Система реєстрації та входу користувачів в Laravel

Після подання форми ви отримаєте посилання для підтвердження на електронну адресу наступним чином:

Система реєстрації та входу користувачів в Laravel

Зверніть увагу, Laravel дозволяє вам увійти до свого облікового запису, навіть якщо ви ще не підтвердили його. Але ви не можете отримати доступ до захищеного маршруту.

Я додав проміжне програмне забезпечення для маршруту profile. Без перевірки облікового запису, якщо ви спробуєте відвідати сторінку http: // localhost: 8000 / profile, він перенаправить на URL http: // localhost: 8000 / email / verify.

Система реєстрації та входу користувачів в Laravel

Перевірте свій рахунок. Перевірте таблицю "користувачі" в базі даних, і ви побачите email_verified_atстовпець, заповнений датою та часом активації. Це означає, що ви успішно підтвердили свій рахунок. Тепер ви повинні мати доступ до захищених маршрутів.

Сподіваюся, ви розумієте, як користуватися системою реєстрації та входу в Laravel. Будь ласка, поділіться своїми думками та пропозиціями в коментарі нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі