Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuidas InertiaJS haldab autentimist ja autoriseerimist SPA-des?


Kuidas InertiaJS haldab autentimist ja autoriseerimist SPA-des?


Siin on see, kuidas Inertia.js haldab autentimist ja autoriseerimist ühelehelistes rakendustes (SPA-d):

Autentimine

1. Inertia.js ei vaja spetsiaalset autentimissüsteemi nagu OAuth. Selle asemel võimaldab see kasutada teie serveripoolse raamistiku pakutavat autentimissüsteemi, näiteks Laraveli seansipõhist autentimissüsteemi. [3]

2. Laraveli stardikomplektid, Breeze ja Jetstream, pakuvad uutele Inertia.js-i rakendustele, sealhulgas autentimisfunktsiooni, valmiskarkassi. [3]

3. Inertia.js-i komponentides autentitud kasutajale juurde pääsemiseks saate kasutada meetodit "Inertia.share()", et edastada autentitud kasutaja oma lehtedele. [4]

Autoriseerimine

1. Ressursitüüpidel põhineva autoriseerimise jaoks (nt kas kasutaja saab vaadata postituste moodulit või luua uue postituse) saate autoriseerimiskontrollid edastada oma Inertia.js lehe komponentidele. [1][2]

2. Konkreetsete ressursiüksuste volituste kontrollimiseks (nt kas kasutaja saab konkreetset postitust redigeerida) saate lisada oma Eloquent-mudelitele atribuudi „load”, mis sisaldab selle olemi autoriseerimiskontrolle. Seejärel saate need "õiguste" andmed edastada oma Inertia.js komponentidele. [4]

3. Peamine on teostada autoriseerimiskontrollid serveri poolel ja seejärel edastada tulemused oma Inertia.js komponentidele rekvisiididena. See tagab, et autoriseerimisloogikat ei avaldata kliendi poolel, mida võidakse rikkuda. [4]

4. Inertia.js ei paku oma autoriseerimissüsteemi, vaid pigem integreerub teie serveripoolse raamistiku autoriseerimissüsteemiga (nt Laraveli värav ja poliitikad). [4]

Kokkuvõttes haldab Inertia.js autentimist, võimendades teie serveripoolse raamistiku autentimissüsteemi, ja tegeleb autoriseerimisega, teostades serveripoolseid kontrolle ja edastades tulemused teie Inertia.js komponentidele. See lähenemisviis tagab, et autentimis- ja autoriseerimisloogika hoitakse serveri poolel turvalisena.

Tsitaadid:
[1] https://inertiajs.com/authorization
[2] https://legacy.inertiajs.com/authorization
[3] https://inertiajs.com/authentication
[4] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[5] https://www.youtube.com/watch?v=1xHfpDhuPzA