Rumah > rangka kerja php > Laravel > Laravel - Keizinan

Laravel - Keizinan

PHPz
Lepaskan: 2024-08-27 13:12:53
asal
732 orang telah melayarinya

Dalam bab sebelum ini, kami telah mengkaji tentang proses pengesahan dalam Laravel. Bab ini menerangkan kepada anda proses kebenaran dalam Laravel.

Perbezaan antara Pengesahan dan Kebenaran

Sebelum meneruskan pembelajaran lebih lanjut tentang proses kebenaran dalam Laravel, mari kita fahami perbezaan antara pengesahan dan kebenaran.

Dalam pengesahan, sistem atau aplikasi web mengenal pasti penggunanya melalui kelayakan yang mereka berikan. Jika ia mendapati bahawa kelayakan itu sah, ia disahkan, atau sebaliknya, ia tidak.

Dalam keizinan, sistem atau aplikasi web menyemak sama ada pengguna yang disahkan boleh mengakses sumber yang mereka cuba akses atau membuat permintaan. Dalam erti kata lain, ia menyemak hak dan kebenaran mereka ke atas sumber yang diminta. Jika ia mendapati bahawa mereka boleh mengakses sumber, ini bermakna mereka diberi kuasa.

Oleh itu, pengesahan melibatkan pemeriksaan kesahihan bukti kelayakan pengguna, dan keizinan melibatkan pemeriksaan hak dan kebenaran ke atas sumber yang dimiliki oleh pengguna yang disahkan.

Mekanisme Kebenaran dalam Laravel

Laravel menyediakan mekanisme mudah untuk kebenaran yang mengandungi dua cara utama, iaitu Gates dan Polisi.

Menulis Gerbang dan Dasar

Gates digunakan untuk menentukan sama ada pengguna dibenarkan untuk melakukan tindakan tertentu. Ia biasanya ditakrifkan dalam App/Providers/AuthServiceProvider.php menggunakan fasad Gate. Gates juga merupakan fungsi yang diisytiharkan untuk melaksanakan mekanisme kebenaran.

Dasar diisytiharkan dalam tatasusunan dan digunakan dalam kelas dan kaedah yang menggunakan mekanisme kebenaran.

Barisan kod berikut menerangkan kepada anda cara menggunakan Gates dan Polisi untuk membenarkan pengguna dalam aplikasi web Laravel. Ambil perhatian bahawa dalam contoh ini, fungsi boot digunakan untuk memberi kebenaran kepada pengguna.

<?php

namespace App\Providers;

use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider{
   /**
      * The policy mappings for the application.
      *
      * @var array
   */
   
   protected $policies = [
      &#39;App\Model&#39; => &#39;App\Policies\ModelPolicy&#39;,
   ];
   
   /**
      * Register any application authentication / authorization services.
      *
      * @param \Illuminate\Contracts\Auth\Access\Gate $gate
      * @return void
   */
   
   public function boot(GateContract $gate) {
      $this->registerPolicies($gate);
      //
   }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Laravel - Keizinan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan