Rumah rangka kerja php ThinkPHP Cara menggunakan ThinkPHP6 untuk melaksanakan kawalan kebenaran

Cara menggunakan ThinkPHP6 untuk melaksanakan kawalan kebenaran

Jun 20, 2023 pm 07:55 PM
thinkphp capai Kawalan kebenaran

Apabila Internet semakin berkembang, banyak tapak web perlu mengawal kebenaran pengguna. Kawalan kebenaran boleh melindungi keselamatan sistem dan menghalang kakitangan yang tidak dibenarkan daripada mengakses sumber sistem, yang sangat penting dalam aplikasi komersial. Apabila membangunkan aplikasi menggunakan PHP, rangka kerja ThinkPHP menyediakan penyelesaian yang mudah.

Rangka kerja ThinkPHP6 menyediakan pengguna dengan keupayaan kawalan kebenaran berdasarkan RBAC (kawalan akses berasaskan peranan). Artikel ini akan memperkenalkan cara menggunakan ThinkPHP6 untuk melaksanakan kawalan kebenaran, termasuk cara menetapkan kebenaran, cara menggunakan kebenaran dalam pengawal dan pandangan serta cara menyimpan maklumat kawalan kebenaran dalam pangkalan data.

1. Konsep asas

Sebelum memperkenalkan cara melaksanakan kawalan kebenaran, kita perlu memahami beberapa konsep asas:

  1. Peranan: mempunyai fungsi yang sama dan Pengguna dengan tanggungjawab diberikan kepada peranan untuk memudahkan pengurusan kebenaran mereka.
  2. Kebenaran: Mentakrifkan sumber dan operasi yang boleh diakses oleh pengguna dalam sistem, termasuk pengawal, kaedah dan pandangan.
  3. Hubungan Kebenaran Peranan: kaitkan peranan dengan kebenaran sepadannya untuk memudahkan pengurusan kebenaran pengguna dengan peranan tertentu.

2. Tetapkan kebenaran

  1. Konfigurasikan kebenaran

Dalam ThinkPHP6, maklumat konfigurasi semua kebenaran disimpan dalam appcontroller dmin.php tengah fail. Terdapat dua jenis kebenaran dalam fail konfigurasi: kebenaran awam dan kebenaran peribadi.

Kebenaran awam merujuk kepada sumber dan operasi yang boleh diakses oleh mana-mana pengguna, seperti halaman utama sistem, dsb. Kebenaran peribadi merujuk kepada sumber dan operasi yang hanya boleh diakses oleh pengguna dengan peranan atau kebenaran tertentu.

Tambahkan semua kebenaran awam pada fail dmin.php appcontroller:

return [
    // 公共权限
    'public' => [
        'index/index',
        'index/home'
    ],

    // 私有权限
    'private' => []
];
Salin selepas log masuk
  1. Konfigurasikan kebenaran peribadi

Untuk kebenaran peribadi kita perlu menetapkannya dalam appcontroller Tambahkan kebenaran ini pada kumpulan kebenaran peribadi fail dmin.php.

Sebagai contoh, kita boleh menambah kebenaran yang dipanggil "pengguna" yang akan membenarkan akses kepada kaedah getUserList dalam pengawal AdminController:

// 私有权限
'private' => [
    'user' => [
        'AdminController/getUserList'
    ]
]
Salin selepas log masuk

3. Menggunakan kebenaran dalam pengawal dan pandangan

  1. Sahkan kebenaran

Apabila pengguna mengakses halaman yang memerlukan kebenaran khusus, kami perlu mengesahkan kebenaran pengguna. Dalam ThinkPHP6, kami boleh menggunakan kaedah semakan yang disediakan oleh kelas Auth untuk mengesahkan sama ada pengguna mempunyai kebenaran khusus.

Sebagai contoh, kami boleh menyemak sama ada pengguna mempunyai kebenaran bernama "pengguna" menggunakan:

if (Auth::check('user')) {
    // 执行用户有权访问的操作
} else {
    // 返回无权访问页面
}
Salin selepas log masuk
  1. Semak peranan pengguna semasa

Dalam Apabila melakukan operasi tertentu, kita perlu mengetahui peranan pengguna semasa dan berkelakuan sewajarnya berdasarkan peranan mereka. Dalam ThinkPHP6, kita boleh menggunakan kaedah getRole dalam kelas Auth untuk mendapatkan peranan pengguna semasa.

Sebagai contoh, kita boleh mendapatkan peranan pengguna semasa menggunakan:

$role = Auth::getRole();
Salin selepas log masuk
  1. Menggunakan kebenaran dalam paparan

Kami juga boleh menggunakan kebenaran dalam paparan Kawalan untuk menunjukkan atau menyembunyikan beberapa elemen. Contohnya, dalam templat bilah, kita boleh menggunakan arahan tin untuk menyemak sama ada pengguna semasa mempunyai kebenaran khusus.

Contoh:

<!-- 如果用户有'user'权限,则显示下面的按钮 -->
@can('user')
    <button type="button" class="btn btn-sm btn-primary">操作</button>
@endcan
Salin selepas log masuk

4 Simpan maklumat kawalan kebenaran dalam pangkalan data

Untuk menjadikan kawalan kebenaran lebih fleksibel, kami boleh menyimpan maklumat kebenaran dalam pangkalan data untuk pengurusan yang lebih mudah. dan pengubahsuaian. ThinkPHP6 menyediakan kelas Auth, yang boleh membaca dan mengesahkan maklumat kebenaran daripada pangkalan data dengan mudah.

Apabila menetapkan kebenaran dalam pangkalan data, kita perlu mencipta empat jadual:

  1. Jadual pengguna (pengguna): menyimpan maklumat pengguna, termasuk ID pengguna, nama pengguna, kata laluan, dsb.
  2. Jadual peranan (peranan): menyimpan maklumat peranan, termasuk ID peranan dan nama peranan.
  3. Jadual kebenaran: menyimpan maklumat kebenaran, termasuk ID kebenaran dan nama kebenaran.
  4. Jadual kebenaran peranan (role_permission): menyimpan maklumat hubungan antara peranan dan kebenaran.

Dalam kelas Auth, kami menggunakan kaedah berikut untuk menetapkan nama jadual untuk pengesahan:

protected $table = [
    'auth' => 'auth',
    'users' => 'users',
    'roles' => 'roles',
    'permissions' => 'permissions',
    'role_permissions' => 'role_permission'
];
Salin selepas log masuk

Di atas ialah keseluruhan proses menggunakan ThinkPHP6 untuk melaksanakan kawalan kebenaran. Melalui operasi di atas, kami boleh melaksanakan kawalan kebenaran berasaskan RBAC dengan mudah dan meningkatkan keselamatan dan kebolehkawalan projek.

Atas ialah kandungan terperinci Cara menggunakan ThinkPHP6 untuk melaksanakan kawalan 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

Video Face Swap

Video Face Swap

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

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)

Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Mar 24, 2024 am 11:27 AM

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Dengan kebangkitan media sosial, WeChat telah menjadi salah satu alat komunikasi yang sangat diperlukan dalam kehidupan seharian orang ramai. Walau bagaimanapun, ramai orang mungkin menghadapi masalah: log masuk ke beberapa akaun WeChat pada masa yang sama pada telefon mudah alih yang sama. Bagi pengguna telefon mudah alih Huawei, tidak sukar untuk mencapai log masuk WeChat dwi Artikel ini akan memperkenalkan cara mencapai log masuk WeChat dwi pada telefon mudah alih Huawei. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei menyediakan fungsi yang sangat mudah - pembukaan dua aplikasi. Melalui fungsi pembukaan dwi aplikasi, pengguna boleh serentak

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Mar 20, 2024 pm 04:54 PM

Bahasa pengaturcaraan PHP ialah alat yang berkuasa untuk pembangunan web, yang mampu menyokong pelbagai logik dan algoritma pengaturcaraan yang berbeza. Antaranya, melaksanakan jujukan Fibonacci adalah masalah pengaturcaraan biasa dan klasik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan jujukan Fibonacci, dan melampirkan contoh kod tertentu. Jujukan Fibonacci ialah jujukan matematik yang ditakrifkan seperti berikut: unsur pertama dan kedua bagi jujukan ialah 1, dan bermula dari unsur ketiga, nilai setiap unsur adalah sama dengan jumlah dua unsur sebelumnya. Beberapa elemen pertama urutan

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Mar 24, 2024 pm 06:03 PM

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Mar 16, 2024 pm 12:57 PM

Dalam bidang pembangunan perisian hari ini, Golang (bahasa Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, semakin digemari oleh pembangun. Perpustakaan standardnya yang kaya dan ciri-ciri konkurensi yang cekap menjadikannya pilihan berprofil tinggi dalam bidang pembangunan permainan. Artikel ini akan meneroka cara menggunakan Golang untuk pembangunan permainan dan menunjukkan kemungkinan besarnya melalui contoh kod tertentu. 1. Kelebihan Golang dalam pembangunan permainan Sebagai bahasa yang ditaip secara statik, Golang digunakan dalam membina sistem permainan berskala besar.

See all articles