cari
Rumahrangka kerja phpLaravelCara menggunakan Laravel untuk melaksanakan pengurusan kebenaran untuk aplikasi dipisahkan bahagian hadapan dan belakang

Laravel ialah salah satu rangka kerja PHP paling popular pada masa ini, yang menyediakan sokongan kuat untuk pembangunan aplikasi web. Rangka kerja Laravel juga menyediakan sokongan yang sangat baik untuk model pembangunan pemisahan bahagian hadapan dan belakang, yang boleh membantu pembangun membangun dengan lebih cekap. Dalam aplikasi dengan pemisahan bahagian hadapan dan belakang, pengurusan kebenaran merupakan bahagian yang sangat penting Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan pengurusan kebenaran aplikasi pemisahan bahagian hadapan dan belakang.

1. Apakah aplikasi pemisah bahagian hadapan dan belakang?

Aplikasi pemisah bahagian hadapan dan bahagian belakang merujuk kepada pengasingan teknologi yang digunakan oleh bahagian hadapan daripada teknologi yang digunakan oleh bahagian hadapan dan bahagian belakang bukan lagi keseluruhan, tetapi berkomunikasi melalui API antara muka. Bahagian hadapan biasanya dilaksanakan menggunakan rangka kerja JavaScript, manakala bahagian belakang dilaksanakan menggunakan bahasa seperti PHP dan Java.

Dalam aplikasi pemisahan bahagian hadapan dan bahagian belakang, bahagian hadapan dan bahagian belakang masing-masing bertanggungjawab untuk logik perniagaan mereka sendiri bertanggungjawab untuk pelaksanaan antara muka UI dan pengguna interaksi, dan bahagian belakang bertanggungjawab untuk pemprosesan data dan pelaksanaan logik perniagaan. Oleh kerana aplikasi pemisahan bahagian hadapan dan bahagian belakang memisahkan bahagian hadapan dan bahagian belakang, ia membolehkan pembangun menumpukan lebih pada bidang kepakaran mereka, dengan itu meningkatkan kecekapan pembangunan.

2. Mengapa pengurusan kebenaran diperlukan?

Dalam aplikasi, kawalan akses merupakan aspek yang sangat penting. Jika tiada kawalan capaian yang berkesan, penyerang mudah mengeksploitasi kelemahan untuk melakukan operasi yang menyalahi undang-undang, seperti mengubah suai data, memadamkan data, dsb. Oleh itu, adalah sangat perlu untuk menambah pengurusan kebenaran kepada aplikasi.

Pengurusan kebenaran merujuk kepada pengurusan kebenaran setiap peranan dalam sistem. Biasanya beberapa peranan tetap ditakrifkan, seperti pentadbir, pengguna biasa, dsb., setiap peranan mempunyai keizinan fungsi yang berbeza. Pentadbir mempunyai kuasa tertinggi dan boleh mengendalikan semua data dalam sistem pengguna biasa hanya boleh melakukan beberapa operasi asas.

Dalam aplikasi pemisahan bahagian hadapan dan belakang, kaedah pengurusan kebenaran yang biasa digunakan ialah pengurusan kebenaran Token. Bahagian hadapan perlu membawa Token semasa menghantar permintaan, dan bahagian belakang mengesahkan Token untuk menentukan sama ada pengguna mempunyai hak akses. Oleh itu, setiap permintaan yang diterima daripada bahagian hadapan memerlukan pengesahan token.

3. Bagaimana untuk merealisasikan pengurusan kebenaran aplikasi yang dipisahkan di bahagian hadapan dan bahagian belakang?

Dalam rangka kerja Laravel, pengurusan kebenaran biasanya dilaksanakan melalui Laratrust. Laratrust ialah perpustakaan pengurusan kebenaran Laravel yang sangat mudah digunakan Ia boleh digunakan untuk melaksanakan pengurusan peranan dan pengurusan kebenaran dengan sangat mudah.

Berikut ialah langkah-langkah tentang cara menggunakan Laratrust untuk melaksanakan pengurusan kebenaran untuk aplikasi yang dipisahkan bahagian hadapan dan belakang:

  1. Pasang Laratrust

Pasang menggunakan Komposer dalam pustaka Laratrust projek Laravel:

composer require santigarcor/laratrust
  1. Jalankan arahan keluaran Laratrust

Terbitkan fail konfigurasi Laratrust, fail migrasi, dsb.:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="laratrust"
  1. Jalankan arahan migrasi Laratrust

Jalankan arahan migrasi Laratrust untuk menjana Peranan, Kebenaran, Role_User dan jadual lain:

php artisan migrate
  1. Konfigurasikan Laratrust

Dalam fail config/auth.php, konfigurasikan guard sebagai api:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
],

Dalam fail config/laratrust.php, tentukan peranan dan kebenaran:

'roles' => [
    'admin' => 'Admin',
    'user' => 'User',
],

'permissions' => [
    'create-post' => 'Create Post',
    'update-post' => 'Update Post',
    'delete-post' => 'Delete Post',
],
  1. Cipta Token

Dalam UserController, tambahkan kaedah untuk mencipta Token:

public function createToken(Request $request)
{
    $user = $request->user();
    $token = $user->createToken('api_token')->accessToken;
    return [$token];
}
  1. Tambah perisian tengah Token

dalam fail app /Http/Kernel.php, tambah perisian tengah Token:

protected $routeMiddleware = [
    // ...
    'token' => \App\Http\Middleware\TokenMiddleware::class,
];

Dalam fail app/Http/Middleware/TokenMiddleware.php, sahkan Token:

public function handle($request, Closure $next)
{
    $token = $request->header('Authorization');
    if (!$token) {
        return response(['message' => 'Token not provided'], 401);
    }
    $user = User::where('api_token', $token)->first();
    if (!$user) {
        return response(['message' => 'Invalid token'], 401);
    }
    return $next($request);
}
  1. Gunakan middleware Token dalam laluan

Dalam laluan, tambah middleware Token:

Route::group(['middleware' => ['token', 'role:admin']], function () {
    Route::post('/posts', 'PostController@store');
    Route::put('/posts/{post}', 'PostController@update');
    Route::delete('/posts/{post}', 'PostController@destroy');
});

Dalam kod di atas, setiap permintaan perlu lulus Perisian tengah token menjalankan pengesahan dan perlu mengesahkan sama ada ia mempunyai kebenaran peranan pentadbir.

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan Laravel untuk melaksanakan pengurusan kebenaran untuk aplikasi yang dipisahkan di bahagian hadapan dan bahagian belakang. Pengurusan peranan dan pengurusan kebenaran boleh dilaksanakan dengan mudah menggunakan perpustakaan Laratrust, dan perisian tengah Token boleh digunakan untuk mengesahkan setiap permintaan untuk memastikan keselamatan aplikasi.

Dalam pembangunan sebenar, pengurusan kebenaran adalah bahagian yang sangat diperlukan dan perlu dikonfigurasikan secara fleksibel mengikut keperluan sebenar. Saya harap artikel ini dapat membantu pembangun yang perlu melaksanakan pengurusan kebenaran.

Atas ialah kandungan terperinci Cara menggunakan Laravel untuk melaksanakan pengurusan kebenaran untuk aplikasi dipisahkan bahagian hadapan dan belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Ilusi kemasukan: menangani pengasingan dan kesepian dalam kerja terpencilIlusi kemasukan: menangani pengasingan dan kesepian dalam kerja terpencilApr 25, 2025 am 12:28 AM

Tocombatisolationandlonelinessinremotework, companesshouldimplementregular, articlefulinteractions, provideequalgrowthopposities, andusetechnologyefectively.1) FostergenuineconnectionnectionThoughvoughvirtualcoffeebreaksandpersonalusharing.2) Ensureremorsharing

Laravel untuk pembangunan penuh: panduan komprehensifLaravel untuk pembangunan penuh: panduan komprehensifApr 25, 2025 am 12:27 AM

Laravelispopularforfull-stackdevelopmentbeCausofersaseamlessblendofbackendpowerandfrontendflexibility.1) ITSBackendCapabilities, likeeloquentorm, SimplifyDatabaseIntions.2) thebladetemplatingengineAllowsforclean, dynamichtmltes.3)

Pertunjukan Persidangan Video: Memilih platform yang sesuai untuk mesyuarat jauhPertunjukan Persidangan Video: Memilih platform yang sesuai untuk mesyuarat jauhApr 25, 2025 am 12:26 AM

Faktor utama dalam memilih platform persidangan video termasuk antara muka pengguna, keselamatan, dan fungsi. 1) Antara muka pengguna harus intuitif, seperti zoom. 2) Keselamatan perlu diberi perhatian, dan pasukan Microsoft menyediakan penyulitan akhir-ke-akhir. 3) Fungsi perlu memadankan keperluan, GoogLemeet sesuai untuk mesyuarat pendek, dan Ciscowebex menyediakan alat kerjasama lanjutan.

Apa versi pangkalan data yang serasi dengan Laravel terkini?Apa versi pangkalan data yang serasi dengan Laravel terkini?Apr 25, 2025 am 12:25 AM

Versi terbaru Laravel10 bersesuaian dengan MySQL 5.7 dan ke atas, PostgreSQL 9.6 dan ke atas, SQLite 3.8.8 dan ke atas, SQLServer 2017 dan ke atas. Versi ini dipilih kerana mereka menyokong ciri -ciri ORM Laravel, seperti jenis data JSON MySQL5.7, yang meningkatkan kecekapan pertanyaan dan penyimpanan.

Faedah menggunakan Laravel sebagai rangka kerja penuhFaedah menggunakan Laravel sebagai rangka kerja penuhApr 25, 2025 am 12:24 AM

LaravelisanexcellentchoiceForfull-stackdevelopmentduetoitsrobustfeaturesandeaseofuse.1) ITSimplifiesComplexTasksWithitsModernphpsyntaxandtoolslikeForForForForForForForForForForForForForForForForForForForForForForForfront-Endandeloquentormforback-end.2)

Apakah versi terbaru Laravel?Apakah versi terbaru Laravel?Apr 24, 2025 pm 05:17 PM

Laravel10, ReleaseonFebruary7,2023, isTheLatestVersion.Itfeatures: 1) InbrovedErrorHandlingWithanewreportmethodintheThexceptionHandler, 2) EnhancedSupportforphp8.1FeatureSlikeenums, dan3-laravelplackorinterforinterforinterplackshipshipforinter.

Bagaimanakah versi Laravel terbaru memudahkan pembangunan?Bagaimanakah versi Laravel terbaru memudahkan pembangunan?Apr 24, 2025 pm 05:01 PM

Thelatestlaravelversionenhancesdevelopmentwith: 1) SimplifiedRoutingingingSingModelbinding, 2) EnhancedEloquentCapabilitiesWitHnewQueryMethods, and3) InfrovedSupportFormodernPhpfeatureSlikenamedArguments.

Di mana saya boleh mendapatkan nota pelepasan untuk versi Laravel terkini?Di mana saya boleh mendapatkan nota pelepasan untuk versi Laravel terkini?Apr 24, 2025 pm 04:53 PM

Anda boleh mencari nota pelepasan untuk versi Laravel terkini di laravel.com/docs. 1) Nota pelepasan memberikan maklumat terperinci mengenai ciri -ciri baru, pembetulan pepijat dan penambahbaikan. 2) Mereka mengandungi contoh dan penjelasan untuk membantu memahami penerapan ciri -ciri baru. 3) Perhatikan potensi kerumitan dan isu keserasian ke belakang ciri -ciri baru. 4) Kajian semula nota pelepasan boleh memastikan ia dikemas kini dan memberi inspirasi kepada inovasi.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual