Laravel 10.x pamoka. Projekto autentifikacija

Norint dirbti su projektu, komandinėje eilutėje turite būti atsidarę projekto katalogą, pvz., C:\xampp\htdocs\library, tam galite panaudoti komandą:
cd C:\xampp\htdocs\library
Laravel karkasas palaiko du pradinius rinkinius, kurie suteikia skirtingus autentifikavimo stilius: Laravel Breeze ir Laravel Jetstream. Šiame projekte naudosime pastarąjį, todėl komandinėje eilutėje įveskite komandą, kuri įdiegs šį paketą:
composer require laravel/jetstream
Jetstream paketas suteikia prisijungijimo, registracijos, el. pašto patvirtinimo, dviejų veiksnių autentifikavimo, sesijų valdymo, API palaikymo per Laravel Sanctum ir komandų valdymo realizacijas. Komandų valdymo realizacija suteikia galimybę naudotojus skirstyti į komandas ir suteikti jiems skirtingas teises.
Įdiegę Jetstream paketą komandinėje eilutėje turite įvykdyti komandą, kuri įdiegs atitinkamus Jetstream autentifikacijos failus. Yra galimi du variantai: 1) su komandų valdymo realizacija ir 2) be jos. Mes naudosime antrąjį variantą, t. y. be komandų valdymo realizacijos, nes naudotojų roles kursime su Spatie Laravel-permission paketu, todėl komandinėje eilutėje įveskite komandą:
php artisan jetstream:install livewire
Tačiau jeigu vis tik norite naudoti Jetstream komandų valdymo realizaciją, tuomet įvykdykite šią komandą:
php artisan jetstream:install livewire --teams
Taip pat turėtume įdiegti papildomus failus (assets), įvykdant šią komandą (prieš tai turėtumėte įsidiegti Node.js):
npm install && npm run build
Įdiegus Jetstream projekte automatiškai atsiras tam tikri su autentifikacija susiję modeliai, kontroleriai, vaizdai ir migracijos. Migracijas reikia įvykdyti, todėl komandinėje eilutėje įveskite komandą:
php artisan migrate
Jei iki šiol nebūsite susikūrę duomenų bazės, tai Artisan pasiūlys tai padaryti. Tokiu atveju parašykite y ir spauskite Enter:
New DB in Artisan
Įvykdžius migracijas naudotojų registracija bus prieinama adresu http://localhost:8000/register, o prisijungimo langas adresu http://localhost:8000/login.
Čia reiktų atkreipti dėmesį, kad nuoroda http://localhost:8000/logout neveiks, jeigu jūs tiesiog ją kažkur nurodysite. Logout funkcionalumui turėtumėte panaudoti tokį kodą:
<form method="POST" action="{{ route('logout') }}"">
    @csrf
    <a href="{{ route('logout') }}" onclick="event.preventDefault();this.closest('form').submit();">
        {{ __('Log Out') }}
    </a>
</form>
Daugiau apie autentifikaciją skaitykite oficialioje Laravel 10.x dokumentacijoje, skiltyje Authentication ir Laravel Jetstream dokumentacijoje.

Paskutinį kartą puslapis keistas 2023-03-02

© Joana Katina 2016-2024. Visos teisės saugomos