Rumah  >  Artikel  >  rangka kerja php  >  Pengenalan terperinci kepada kaedah tetapan kebenaran pasukan projek ThinkPHP

Pengenalan terperinci kepada kaedah tetapan kebenaran pasukan projek ThinkPHP

PHPz
PHPzasal
2023-04-11 09:15:56848semak imbas

ThinkPHP ialah rangka kerja PHP yang sangat baik, digunakan secara meluas dalam bidang pembangunan web. Dalam proses pelaksanaan projek, tetapan kebenaran adalah pautan yang penting. Artikel ini akan memperkenalkan secara terperinci kaedah tetapan kebenaran pasukan projek ThinkPHP.

1. Memahami tetapan kebenaran ThinkPHP

Tetapan kebenaran merujuk kepada memberikan kebenaran operasi kepada pengguna supaya mereka boleh beroperasi mengikut skop kebenaran. Dalam rangka kerja ThinkPHP, tetapan kebenaran boleh dilaksanakan melalui RBAC (Role-Based Access Control). Kawalan capaian berasaskan peranan RBAC merujuk kepada model kawalan akses yang memberikan peranan kepada pengguna dan menetapkan semula kebenaran kepada peranan tersebut. RBAC mempunyai ciri-ciri berikut:

  1. Berikan kebenaran kepada peranan, dan kemudian berikan peranan kepada pengguna untuk pengurusan yang mudah
  2. Pengguna hanya perlu mempunyai peranan untuk memiliki semua kebenaran peranan; . ;
  3. Sistem ini mudah dikembangkan dan diselenggara, serta mempunyai kebolehskalaan yang baik;
  4. Ia merealisasikan pemisahan kebenaran dan logik perniagaan, meningkatkan kadar penggunaan semula kod dan keselamatan akses dengan ketara.

2. Langkah penetapan kebenaran berasaskan RBAC

Langkah 1 Buat jadual kebenaran

  1. Buat jadual kebenaran dalam pangkalan data, termasuk id medan, nama, tajuk dan status;
  2. medan id dan nama ialah kunci utama dan pengecam kebenaran; , 0 bermakna dilumpuhkan.
  3. Langkah 2 Buat jadual peranan
Buat jadual peranan dalam pangkalan data, termasuk id medan, nama, tajuk dan status

id dan Medan nama ialah kunci utama dan pengenalan peranan; medan
  1. tajuk ialah nama peranan; medan status ialah status peranan, 1 mewakili didayakan, 0 mewakili dilumpuhkan.
  2. Langkah 3 Cipta jadual pengguna
  3. Buat jadual pengguna dalam pangkalan data, termasuk medan id, nama pengguna, kata laluan dan status
medan id ialah kunci utama;

nama pengguna ialah nama pengguna;
  1. kata laluan ialah kata laluan;
  2. Langkah 4 Cipta jadual persatuan peranan pengguna
  3. Buat jadual persatuan peranan pengguna dalam pangkalan data, termasuk medan user_id dan role_id
  4. user_id ialah ID Pengguna;
role_id ialah ID peranan.

    Langkah 5 Buat jadual persatuan kebenaran peranan
  1. Buat jadual persatuan kebenaran peranan dalam pangkalan data, termasuk medan role_id dan rule_id; ialah Role ID;
  2. rule_id ialah ID kebenaran.

Langkah 6 Laksanakan kawalan kebenaran

    Dalam projek ThinkPHP, kaedah untuk melaksanakan kawalan kebenaran adalah seperti berikut:
  1. Tentukan pengawal sepunya CommonController dalam projek, Pengawal ini boleh melaksanakan kawalan kebenaran untuk semua pengguna;
  2. Cipta kelas Auth untuk melaksanakan pengesahan kebenaran; 🎜>

Dalam kelas Auth, logik pengesahan kebenaran dilaksanakan, seperti yang ditunjukkan di bawah:

    Logik yang dilaksanakan oleh kod di atas adalah untuk menambah kebenaran untuk semua permintaan operasi pengguna mengesahkan. Jika operasi yang diminta oleh pengguna memerlukan kawalan kebenaran, pengesah terlebih dahulu menyemak sama ada pengguna adalah pentadbir super. Jika pengguna ialah pentadbir super, pengesahan dihantar terus jika pengguna bukan pentadbir super, senarai ID kebenaran yang dimiliki oleh peranan ditemui (pertanyaan daripada jadual persatuan) berdasarkan ID peranan pengguna (pertanyaan daripada jadual pengguna), dan kemudian Cari senarai nama kebenaran yang sepadan mengikut senarai ID kebenaran jika nama operasi yang diminta berada dalam senarai nama kebenaran, pengesahan diluluskan jika tidak, pengesahan kebenaran gagal;
  1. 3. Ringkasan
  2. Tetapan kebenaran merupakan bahagian yang amat diperlukan dalam pembangunan tapak web. Artikel ini memperincikan cara melaksanakan kawalan kebenaran berdasarkan RBAC dalam projek ThinkPHP. Berdasarkan idea ini, anda boleh menetapkan kebenaran operasi yang sepadan berdasarkan keperluan projek sebenar anda.

Atas ialah kandungan terperinci Pengenalan terperinci kepada kaedah tetapan kebenaran pasukan projek ThinkPHP. 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