Rumah > rangka kerja php > Laravel > teks badan

Penerokaan mendalam tentang penggunaan kebenaran Laravel

PHPz
Lepaskan: 2023-04-12 09:53:14
asal
575 orang telah melayarinya

Laravel ialah rangka kerja PHP yang sangat popular dengan banyak ciri berkuasa, termasuk kebenaran. Dalam artikel ini, kita akan menyelidiki penggunaan kebenaran Laravel.

Apakah kebenaran itu?

Dalam aplikasi web, kebenaran merujuk kepada proses sama ada pengguna mempunyai hak untuk mengakses sumber tertentu atau melakukan operasi tertentu. Keizinan biasanya berlaku selepas pengesahan.

Asas Keizinan Laravel

Idea asas menggunakan kebenaran Laravel adalah untuk mentakrifkan dasar dan kemudian menggunakan dasar ini untuk menentukan sama ada pengguna mempunyai kebenaran untuk mengakses sumber tertentu. Dasar ialah kelas PHP mudah yang mentakrifkan logik untuk menyemak sama ada pengguna boleh mengakses sumber tertentu.

Tentukan dasar

Untuk mencipta dasar, jalankan arahan berikut:

php artisan make:policy PostPolicy --model=Post
Salin selepas log masuk

Arahan ini akan mencipta kelas (dasar) yang dipanggil PostPolicy yang akan dikaitkan dengan Model pos. Anda boleh menentukan kaedah dalam kelas ini yang akan menentukan sama ada pengguna mempunyai akses kepada model.

Berikut ialah contoh dasar untuk menentukan sama ada pengguna boleh mengemas kini siaran:

class PostPolicy
{
    use HandlesAuthorization;

    public function update(User $user, Post $post)
    {
        return $user->id === $post->user_id;
    }
}
Salin selepas log masuk

Dalam dasar ini, kaedah kemas kini menerima dua parameter: $user dan $post. $user ialah contoh pengguna semasa dan $post ialah contoh siaran yang akan dikemas kini. Kaedah ini mengembalikan nilai Boolean yang menunjukkan sama ada pengguna mempunyai kebenaran untuk mengemas kini siaran. Dalam contoh ini, kemas kini dibenarkan jika pengguna semasa adalah sama dengan pengarang siaran.

Mendaftar Polisi

Untuk menggunakan polisi, anda mesti mendaftarkannya. Anda boleh mendaftarkan dasar dalam kelas AuthServiceProvider. Dalam kelas ini, anda boleh menggunakan kaedah dasar untuk memetakan model kepada dasar.

Contohnya, kod berikut memetakan model Pos kepada dasar PostPolicy:

protected $policies = [
    'App\Post' => 'App\Policies\PostPolicy',
];
Salin selepas log masuk

Menggunakan dasar

Setelah anda menentukan dan mendaftarkan polisi, anda boleh gunakannya. Untuk menggunakan dasar, gunakan kaedah kebenaran dalam pengawal atau di mana-mana sahaja.

Sebagai contoh, kod berikut akan menyemak sama ada pengguna semasa mempunyai kebenaran untuk mengemas kini siaran yang diberikan:

public function update(Post $post)
{
    $this->authorize('update', $post);

    // The user is authorized to update the post...
}
Salin selepas log masuk

Dalam contoh di atas, kaedah kebenaran menerima dua parameter: nama dasar (di sini "kemas kini" dalam contoh ini) dan contoh sumber tertentu ($siaran dalam contoh ini). Jika pengguna mempunyai akses kepada sumber, akses dibenarkan. Jika tidak, AuthorizationException akan dibuang.

Kesimpulan

Keizinan Laravel sangat berkuasa dan boleh digunakan untuk menentukan sama ada pengguna mempunyai kebenaran untuk mengakses sumber tertentu atau melakukan tindakan tertentu. Dalam artikel ini, kami meneroka asas kebenaran Laravel, termasuk menentukan dasar, mendaftarkan dasar dan menggunakan dasar. Saya harap artikel ini membantu anda menggunakan ciri keizinan Laravel dengan lebih baik.

Atas ialah kandungan terperinci Penerokaan mendalam tentang penggunaan kebenaran Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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