Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pengurusan hak pengguna?

Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pengurusan hak pengguna?

WBOY
WBOYasal
2023-10-31 11:52:531473semak imbas

Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pengurusan hak pengguna?

Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pengurusan hak pengguna?

Dalam sistem perisian moden, pengurusan hak pengguna adalah fungsi yang sangat penting. Melalui reka bentuk dan pengurusan yang betul, kami boleh memastikan keselamatan data pengguna dan menghalang pengguna yang tidak dibenarkan daripada mengakses maklumat sensitif. Dalam artikel ini, kami akan memperkenalkan cara mereka bentuk struktur jadual MySQL selamat untuk melaksanakan fungsi pengurusan hak pengguna dan menyediakan contoh kod khusus.

  1. Jadual pengguna
    Pertama, kita perlu mencipta jadual pengguna untuk menyimpan maklumat asas pengguna, seperti nama pengguna, kata laluan, e-mel, dll. Apabila mereka bentuk jadual pengguna, anda perlu ambil perhatian bahawa medan kata laluan harus disulitkan dan disimpan menggunakan fungsi cincang untuk meningkatkan keselamatan kata laluan pengguna.

CIPTA pengguna JADUAL(
id INT PRIMER KUNCI AUTO_INCREMENT,
nama pengguna VARCHAR(50) NOT NULL,#🎜 NOT NULL,#🎜 NOT NULL,#🎜 NOT NULL,#🎜🎜(2#5) VARCHAR
email VARCHAR(100) NOT NULL
);

    Role table
  1. Untuk mencapai pengurusan kebenaran yang lebih terperinci, kami boleh mereka bentuk jadual peranan Untuk menentukan peranan pengguna, seperti pentadbir, pengguna biasa, dsb. Setiap peranan boleh diberikan kebenaran yang berbeza. Kita boleh menggunakan medan berangka untuk mewakili tahap kebenaran peranan.
CIPTA JADUAL peranan(

id INT PRIMARY KEY AUTO_INNCREMENT,
name VARCHAR(50) NOT NULL,
id INT PRIMARY KEY AUTO_INNCREMENT,
name VARCHAR(50) NOT NULL,#🎜🎜🎜🎜🎜🎜🎜🎜🎜 );

    Jadual persatuan peranan pengguna
  1. Seterusnya, kita perlu mencipta jadual persatuan peranan pengguna untuk menentukan peranan yang dimiliki oleh pengguna. Seorang pengguna boleh mempunyai pelbagai peranan. Di sini, kunci asing digunakan untuk mengaitkan kunci utama pengguna dan jadual peranan.
CIPTA JADUAL pengguna_peranan(

user_id INT,
role_id INT,
FOREIGN KEY (user_id) RUJUKAN🎜 pengguna(id) KEY (role_id) RUJUKAN roles(id)
);

Permission table
    Akhir sekali, kami boleh mencipta jadual kebenaran untuk mentakrifkan semua kebenaran pengendalian dalam sistem. Setiap kebenaran boleh diberikan kepada satu peranan atau berbilang peranan. Kita boleh menggunakan medan berangka untuk mewakili tahap kebenaran.

  1. CIPTA JADUAL kebenaran(
id INT UTAMA AUTO_INCREMENT,

nama VARCHAR(50) BUKAN NULL,#🎜#INT🎜🎜🎜 BUKAN peringkat );


Jadual Persatuan Kebenaran Peranan
Akhir sekali, kita perlu mencipta jadual persatuan kebenaran peranan untuk menentukan kebenaran yang dimiliki oleh peranan. Peranan boleh mempunyai berbilang kebenaran.

  1. BUAT JADUAL role_permissions(
    role_id INT,
  2. permission_id INT,
FOREIGN KEY (role_id(id🎜),🎜REFERENCES) KEY (permission_id) RUJUKAN kebenaran(id)

);

Melalui reka bentuk struktur jadual di atas, kami boleh melaksanakan fungsi asas pengurusan hak pengguna. Apabila pengguna log masuk ke sistem, kami boleh mengenakan sekatan operasi yang sepadan berdasarkan peranan dan kebenaran yang dimiliki pengguna. Sebagai contoh, jika operasi tertentu memerlukan pengguna mempunyai kebenaran peranan pentadbir untuk melaksanakan, maka kita boleh menyemak sama ada peranan dan kebenaran pengguna semasa memenuhi keperluan.

Berikut ialah contoh kod khusus yang menunjukkan cara untuk menanyakan kebenaran pengguna dalam MySQL:

SELECT p.name

FROM users u

ur user_roles ON u.id = ur.user_id

JOIN roles r ON r.id = ur.role_id

JOIN role_permissions rp ON r.id = rp.role_id

JOIN kebenaran p = ON p . rp.permission_id
WHERE u.username = 'admin';

Di atas adalah pengenalan kepada cara mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pengurusan hak pengguna. Melalui reka bentuk dan pengurusan yang betul, kami boleh memastikan keselamatan data pengguna dan menghalang pengguna yang tidak dibenarkan daripada mengakses maklumat sensitif. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL yang selamat untuk melaksanakan fungsi pengurusan hak pengguna?. 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