Rumah rangka kerja php Swoole Cara menggunakan rangka kerja Hyperf untuk pengurusan kebenaran

Cara menggunakan rangka kerja Hyperf untuk pengurusan kebenaran

Oct 20, 2023 pm 06:11 PM
Pengurusan kebenaran rangka kerja hyperf

Cara menggunakan rangka kerja Hyperf untuk pengurusan kebenaran

Cara menggunakan rangka kerja Hyperf untuk pengurusan kebenaran

Dalam era Internet hari ini, pengurusan kebenaran adalah topik penting. Apabila kami membangunkan aplikasi, kadangkala kami perlu mengawal akses pengguna kepada sumber sistem berdasarkan identiti dan peranan mereka. Dalam hal ini, rangka kerja Hyperf memberikan kita alat dan kaedah yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk pengurusan kebenaran dan memberikan contoh kod khusus.

1. Pasang rangka kerja Hyperf

Pertama, kita perlu memasang rangka kerja Hyperf. Anda boleh menggunakan komposer untuk melengkapkan pemasangan dan menjalankan arahan berikut:

$ composer create-project hyperf/hyperf-skeleton
Salin selepas log masuk

Selepas pemasangan selesai, masukkan direktori projek dan jalankan arahan berikut untuk memulakan pelayan Hyperf:

$ php bin/hyperf.php start
Salin selepas log masuk

2. Tentukan peraturan kebenaran

Dalam Rangka kerja Hyperf, kita boleh mentakrifkannya melalui peraturan Kebenaran anotasi. Pertama, kita perlu mentakrifkan peraturan kebenaran dalam fail config/autoload/permissions.php, contohnya:

<?php

use HyperfPermissionModelPermission;

Permission::create([
    'name' => 'user-manage',
    'display_name' => '用户管理',
]);

Permission::create([
    'name' => 'article-manage',
    'display_name' => '文章管理',
]);
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan dua peraturan kebenaran, iaitu pengurusan pengguna dan pengurusan artikel.

3. Cipta middleware

Seterusnya, kita perlu mencipta middleware untuk menyemak sama ada pengguna mempunyai kebenaran untuk mengakses laluan tertentu. Middleware boleh dibuat melalui arahan berikut:

$ php bin/hyperf.php gen:middleware CheckPermission
Salin selepas log masuk

Kemudian, edit fail app/Middleware/CheckPermissionMiddleware.php untuk melaksanakan logik semakan kebenaran. Berikut ialah contoh:

<?php

declare(strict_types=1);

namespace AppMiddleware;

use HyperfHttpServerContractResponseInterface as HttpResponse;
use HyperfUtilsApplicationContext;
use PsrContainerContainerInterface;
use PsrHttpMessageResponseInterface;
use PsrHttpMessageServerRequestInterface;
use PsrHttpServerMiddlewareInterface;
use PsrHttpServerRequestHandlerInterface;

class CheckPermissionMiddleware implements MiddlewareInterface
{
    /**
     * @var HttpResponse
     */
    protected $response;

    public function __construct(ContainerInterface $container)
    {
        $this->response = ApplicationContext::getContainer()->get(HttpResponse::class);
    }

    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        // 在这里实现权限检查逻辑
        $permissions = $request->getAttribute('permissions', []);

        foreach ($permissions as $permission) {
            if (! $this->hasPermission($permission)) {
                return $this->response->json([
                    'code' => 403,
                    'message' => '没有权限访问该资源',
                ]);
            }
        }

        return $handler->handle($request);
    }

    protected function hasPermission($permission)
    {
        // 在这里实现检查用户是否拥有该权限的逻辑
        // 返回true表示有权限,返回false表示没有权限
    }
}
Salin selepas log masuk

Dalam kod di atas, kami menentukan kebenaran untuk menyemak dengan menghantar parameter kebenaran dalam permintaan. Dalam kaedah proses, kami menggelung melalui parameter kebenaran masuk dan memanggil kaedah hasPermission untuk menyemak sama ada pengguna mempunyai kebenaran. Jika tiada kebenaran, kami mengembalikan ralat 403.

4. Lakukan semakan kebenaran

Dalam laluan yang memerlukan semakan kebenaran, kami boleh menggunakan perisian tengah untuk menyemak kebenaran pengguna. Berikut ialah contoh:

<?php

use AppMiddlewareCheckPermissionMiddleware;

Router::get('/users', 'UserController@index')
    ->middleware([
        new CheckPermissionMiddleware([
            'user-manage',
        ]),
    ]);
Salin selepas log masuk

Dalam kod di atas, kami menentukan middleware untuk digunakan melalui kaedah middleware. Dalam contoh ini, kami menggunakan CheckPermissionMiddleware dan memberikan kebenaran mengurus pengguna.

Melalui langkah di atas, kami boleh melaksanakan pengurusan kebenaran mudah dalam rangka kerja Hyperf. Dengan mentakrifkan peraturan kebenaran, mencipta perisian tengah dan menggunakan perisian tengah untuk melakukan semakan kebenaran, kami dapat mengawal akses pengguna kepada sumber sistem berdasarkan identiti dan peranan mereka.

Ringkasan:

Rangka kerja Hyperf menyediakan alat dan kaedah yang mudah untuk pengurusan kebenaran. Dalam artikel ini, kami mempelajari cara mentakrifkan peraturan kebenaran, mencipta perisian tengah dan menggunakan perisian tengah untuk semakan kebenaran. Melalui langkah ini, kami boleh melaksanakan fungsi pengurusan kebenaran dengan mudah dan mengawal akses pengguna kepada sumber sistem berdasarkan identiti dan peranan mereka. Saya harap artikel ini dapat membantu anda menggunakan rangka kerja Hyperf untuk pengurusan kebenaran.

Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk pengurusan kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan rangka kerja Hyperf untuk analisis kod Cara menggunakan rangka kerja Hyperf untuk analisis kod Oct 25, 2023 am 11:12 AM

Cara menggunakan rangka kerja Hyperf untuk analisis kod memerlukan contoh kod khusus Pengenalan: Dalam proses pembangunan perisian, kualiti dan prestasi kod perlu dianalisis dan dinilai dengan betul. Sebagai rangka kerja pembangunan PHP berprestasi tinggi, rangka kerja Hyperf menyediakan pelbagai alatan dan fungsi untuk membantu pembangun menjalankan analisis kod. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk analisis kod, dan menggambarkannya dengan contoh kod khusus. 1. Pemilihan alat analisis kod Rangka kerja Hyperf menyediakan beberapa alat praktikal.

Cara menggunakan rangka kerja Hyperf untuk pemprosesan permintaan merentas domain Cara menggunakan rangka kerja Hyperf untuk pemprosesan permintaan merentas domain Oct 20, 2023 pm 01:09 PM

Cara menggunakan rangka kerja Hyperf untuk pemprosesan permintaan merentas domain Pengenalan: Dalam pembangunan aplikasi rangkaian moden, permintaan merentas domain telah menjadi keperluan biasa. Untuk memastikan pemisahan pembangunan bahagian hadapan dan bahagian belakang serta menambah baik pengalaman pengguna, adalah menjadi sangat penting untuk menggunakan rangka kerja Hyperf untuk pemprosesan permintaan merentas domain. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk pemprosesan permintaan merentas domain dan memberikan contoh kod khusus. 1. Apakah permintaan merentas domain merujuk kepada JavaScript yang dijalankan pada penyemak imbas melalui XMLHttpReques.

Cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna Cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna Oct 27, 2023 pm 01:27 PM

Cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna Pengenalan: Dalam era Internet moden, semakin banyak aplikasi perlu menyokong log masuk berbilang pengguna untuk mencapai fungsi yang diperibadikan dan pengurusan kebenaran. Untuk melindungi keselamatan sistem dan privasi data, pembangun perlu menggunakan cara tertentu untuk melaksanakan log masuk berbilang pengguna dan fungsi pengurusan kebenaran. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Layui untuk membangunkan sistem pengurusan kebenaran yang menyokong log masuk berbilang pengguna dan memberikan contoh kod khusus. Persediaan sebelum memulakan pembangunan

Bagaimana untuk melaksanakan perkongsian data dan pengurusan kebenaran dalam React Query? Bagaimana untuk melaksanakan perkongsian data dan pengurusan kebenaran dalam React Query? Sep 27, 2023 pm 04:13 PM

Bagaimana untuk melaksanakan perkongsian data dan pengurusan kebenaran dalam ReactQuery? Kemajuan dalam teknologi telah menjadikan pengurusan data dalam pembangunan bahagian hadapan lebih kompleks. Dengan cara tradisional, kami mungkin menggunakan alat pengurusan negeri seperti Redux atau Mobx untuk mengendalikan perkongsian data dan pengurusan kebenaran. Walau bagaimanapun, selepas kemunculan ReactQuery, kami boleh menggunakannya untuk menangani masalah ini dengan lebih mudah. Dalam artikel ini, kami akan menerangkan cara melaksanakan perkongsian data dan kebenaran dalam ReactQuery

Bagaimana untuk melaksanakan sistem pengurusan kebenaran dalam Laravel Bagaimana untuk melaksanakan sistem pengurusan kebenaran dalam Laravel Nov 02, 2023 pm 04:51 PM

Bagaimana untuk melaksanakan sistem pengurusan kebenaran dalam Laravel Pengenalan: Dengan pembangunan berterusan aplikasi web, sistem pengurusan kebenaran telah menjadi salah satu fungsi asas banyak aplikasi. Laravel, sebagai rangka kerja PHP yang popular, menyediakan pelbagai alatan dan fungsi untuk melaksanakan sistem pengurusan kebenaran. Artikel ini akan memperkenalkan cara melaksanakan sistem pengurusan kebenaran yang mudah dan berkuasa dalam Laravel dan memberikan contoh kod khusus. 1. Reka bentuk idea sistem pengurusan kebenaran Semasa mereka bentuk sistem pengurusan kebenaran, perkara utama berikut perlu dipertimbangkan: peranan dan

Cara menggunakan rangka kerja Hyperf untuk kawalan aliran Cara menggunakan rangka kerja Hyperf untuk kawalan aliran Oct 20, 2023 pm 05:52 PM

Cara menggunakan rangka kerja Hyperf untuk kawalan aliran Pengenalan: Dalam pembangunan sebenar, kawalan aliran yang munasabah adalah sangat penting untuk sistem konkurensi tinggi. Kawalan aliran boleh membantu kami melindungi sistem daripada risiko beban lampau dan meningkatkan kestabilan dan prestasi sistem. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk kawalan aliran dan memberikan contoh kod khusus. 1. Apakah itu kawalan aliran? Kawalan trafik merujuk kepada pengurusan dan sekatan trafik capaian sistem untuk memastikan sistem boleh berfungsi secara normal apabila memproses permintaan trafik yang besar. aliran

Cara menggunakan rangka kerja Hyperf untuk penyimpanan fail Cara menggunakan rangka kerja Hyperf untuk penyimpanan fail Oct 25, 2023 pm 12:34 PM

Cara menggunakan rangka kerja Hyperf untuk penyimpanan fail memerlukan contoh kod khusus Hyperf ialah rangka kerja PHP berprestasi tinggi yang dibangunkan berdasarkan sambungan Swoole Ia mempunyai fungsi yang berkuasa seperti coroutine, suntikan ketergantungan, AOP, middleware, dan pengurusan acara sesuai untuk membina aplikasi web dan perkhidmatan mikro berprestasi tinggi, Fleksibel dan berskala. Dalam projek sebenar, kami selalunya perlu menyimpan dan mengurus fail Rangka kerja Hyperf menyediakan beberapa komponen dan alatan yang mudah untuk membantu kami memudahkan operasi penyimpanan fail. Artikel ini akan memperkenalkan cara menggunakan

Cara mengendalikan pengurusan hak pengguna dalam borang PHP Cara mengendalikan pengurusan hak pengguna dalam borang PHP Aug 10, 2023 pm 01:06 PM

Cara mengendalikan pengurusan hak pengguna dalam bentuk PHP Dengan pembangunan berterusan aplikasi web, pengurusan hak pengguna adalah salah satu fungsi penting. Pengurusan hak pengguna boleh mengawal hak operasi pengguna dalam aplikasi dan memastikan keselamatan dan kesahihan data. Dalam bentuk PHP, pengurusan hak pengguna boleh dilaksanakan melalui beberapa kod mudah. Artikel ini akan memperkenalkan cara mengendalikan pengurusan hak pengguna dalam borang PHP dan memberikan contoh kod yang sepadan. 1. Definisi dan pengurusan peranan pengguna Pertama sekali, mentakrif dan mengurus peranan pengguna adalah soal hak pengguna.

See all articles