„Inertia“ tvarko vartotojo autentifikavimą naudodamas „Laravel“, pasinaudodama įmontuotų „Laravel“ autentifikavimo funkcijomis ir pratęsdama jas sklandžiai dirbant su „Inertia“ vieno puslapio programos (SPA) architektūra. Čia yra pagrindiniai dalykai:
1. Naudojant „Laravel“ numatytąjį autentifikavimą:
-„Inertia“ naudoja „Laravel“ numatytąją sesijos autentifikavimą, o tai reiškia, kad vartotojai yra autentifikuojami naudojant „Laravel“ įmontuotus autentifikavimo mechanizmus.
- Šis požiūris pašalina poreikį sukurti atskirą API autentifikavimui, nes inercija gali tiesiogiai sąveikauti su „Laravel“ autentifikavimo sistema [1] [2] [3].
2. Dalintis autentifikuotu vartotoju:
- Inercijos „bendrinimo“ metodas naudojamas norint pasidalyti autentifikuotu vartotoju su frontend. Tai leidžia „Frontend“ pasiekti vartotojo objektą ir naudoti jį autorizacijos patikrinimams [2].
3. Autorizacijos patikrinimai:
- Autorizacijos patikrinimai atliekami frontende naudojant vartotojo objektą, kurį dalijasi inercija. Tai užtikrina, kad frontendija gali dinamiškai rodyti ar paslėpti turinį pagal vartotojo leidimus [2].
4. Duomenų transformavimas:
- Duomenų transformacija yra labai svarbi atliekant autorizacijos patikrinimus. Inercijos „bendrinimo“ metodas gali būti naudojamas norint transformuoti duomenis prieš jam pasiekiant frontendą, todėl lengviau tvarkyti sudėtingus autorizacijos reikalavimus [2].
5. Pradedančiųjų rinkiniai:
- „Laravel“ teikia pradinius rinkinius, tokius kaip „Laravel Breeze“ ir „Laravel JetStream“, kurie siūlo gražiai suprojektuotus pradinius taškus, skirtus autentifikavimui į jūsų šviežią „Laravel“ programą. Šie rinkiniai apima pastolių parinktis, pagrįstas „LiveWire“ ar inercija, todėl yra lengva integruoti autentifikavimą su jūsų inercijos programa [4].
Pasinaudojusi šiomis funkcijomis, „Inertia“ suteikia sklandų ir efektyvų būdą valdyti vartotojo autentifikavimą naudojant „Laravel“, leidžiančią kūrėjams sutelkti dėmesį į savo programos kūrimą, nesijaudindamas dėl autentifikavimo ir autorizacijos painiavos.
Citatos:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-ser-s-logged-in