Rumah  >  Artikel  >  pangkalan data  >  Penyelesaian pengurusan hak pengguna dalam reka bentuk struktur jadual MySQL sistem peperiksaan dalam talian

Penyelesaian pengurusan hak pengguna dalam reka bentuk struktur jadual MySQL sistem peperiksaan dalam talian

WBOY
WBOYasal
2023-10-31 11:09:21601semak imbas

Penyelesaian pengurusan hak pengguna dalam reka bentuk struktur jadual MySQL sistem peperiksaan dalam talian

Penyelesaian pengurusan hak pengguna dalam reka bentuk struktur jadual MySQL sistem peperiksaan dalam talian memerlukan contoh kod khusus

Dengan pembangunan Internet , semakin banyak Semakin banyak institusi dan syarikat pendidikan mula menggunakan sistem peperiksaan dalam talian untuk menjalankan peperiksaan dan menilai hasil pembelajaran pelajar. Sistem peperiksaan dalam talian bukan sahaja menyediakan kaedah peperiksaan yang mudah, tetapi juga secara automatik boleh mengendalikan tugas yang membosankan seperti kertas jawapan dan penggredan. Dalam sistem peperiksaan dalam talian sedemikian, pengurusan hak pengguna merupakan isu yang sangat penting Pengurusan hak pengguna yang munasabah dapat memastikan keselamatan dan kebolehpercayaan sistem.

Dalam pangkalan data MySQL, kami boleh melaksanakan pengurusan hak pengguna dengan mereka bentuk struktur jadual yang sesuai dan menulis kod yang sepadan. Di bawah, kami akan memperkenalkan penyelesaian pengurusan hak pengguna berdasarkan reka bentuk struktur jadual dan contoh kod.

  1. Jadual pengguna (pengguna)
    Jadual pengguna digunakan untuk menyimpan semua maklumat pengguna dalam sistem, termasuk nama pengguna, kata laluan, peranan dan medan lain.

BUAT JADUAL pengguna (user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
password varchar(255) NOT NULL,
role_id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  1. 角色表(role)
    角色表用于存储系统中所有角色的信息,包括角色名等字段。

CREATE TABLE role (
id int(11) NOT NULL AUTO_INCREMENT,
rolename varchar(50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  1. 权限表(permission)
    权限表用于存储系统中所有权限的信息,包括权限名、所属角色等字段。

CREATE TABLE permission (
id int(11) NOT NULL AUTO_INCREMENT,
permname varchar(50) NOT NULL,
role_id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  1. 用户角色表(user_role)
    用户角色表用于存储用户和角色之间的关系。

CREATE TABLE user_role (
id int(11) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
role_id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  1. 角色权限表(role_permission)
    角色权限表用于存储角色和权限之间的关系。

CREATE TABLE role_permission (
id int(11) NOT NULL AUTO_INCREMENT,
role_id int(11) NOT NULL,
perm_id int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

以上是在线考试系统的MySQL表结构设计,下面我们将介绍具体的代码示例来实现用户权限管理。

  1. 添加用户

INSERT INTO user (username, password, role_id) VALUES ('admin', '123456', 1);

  1. 添加角色

INSERT INTO role (rolename) VALUES ('管理员');

  1. 添加权限

INSERT INTO permission (permname, role_id) VALUES ('添加用户', 1);

  1. 添加用户角色关系

INSERT INTO user_role (user_id, role_id) VALUES (1, 1);

  1. 添加角色权限关系

INSERT INTO role_permission (role_id, perm_id id int(11) BUKAN NULL AUTO_INCREMENT,

nama pengguna varchar(50) NOT NULL,

password varchar(255) NOT NULL,

role_id int(11) NOT NULL,

KUNCI UTAMA (id)

) ENGINE=CARSET LAALA InnoDB=utf8;

    Jadual peranan (peranan) #🎜🎜#Jadual peranan digunakan untuk menyimpan maklumat tentang semua peranan dalam sistem, termasuk nama peranan dan medan lain. #🎜🎜##🎜🎜##🎜🎜#BUAT JADUAL peranan (#🎜🎜# id int(11) BUKAN NULL AUTO_INCREMENT,#🎜🎜# rolename varchar(50) NOT NULL,#🎜🎜# PRIMARY KEY (id)#🎜🎜#) ENGINE=InnoDB DEFAULT CHARSET=utf8;#🎜🎜#
      #🎜🎜#Jadual kebenaran (kebenaran)#🎜🎜#Jadual kebenaran digunakan untuk menyimpan maklumat tentang semua kebenaran dalam sistem, termasuk nama kebenaran, peranan dan medan lain. #🎜🎜##🎜🎜##🎜🎜#BUAT JADUAL kebenaran (#🎜🎜# id int(11) BUKAN NULL AUTO_INCREMENT,#🎜🎜# permname varchar(50) NOT NULL,#🎜🎜# role_id int(11) NOT NULL,#🎜🎜# PRIMARY KEY (id)#🎜🎜 #) ENGINE=CHARSET LAALA InnoDB=utf8;#🎜🎜#
        #🎜🎜#Jadual peranan pengguna (peranan_pengguna)#🎜🎜#Jadual peranan pengguna digunakan untuk menyimpan perhubungan antara pengguna dan peranan . #🎜🎜##🎜🎜##🎜🎜#CIPTA JADUAL peranan_pengguna (#🎜🎜# id int(11) BUKAN NULL AUTO_INCREMENT,#🎜🎜# user_id int(11) NOT NULL,#🎜🎜# role_id int(11) NOT NULL,#🎜🎜# PRIMARY KEY (id)#🎜🎜 #) ENGINE=CHARSET LALAI InnoDB=utf8;#🎜🎜#
          #🎜🎜#Jadual kebenaran peranan (permission_permission)#🎜🎜#Jadual kebenaran peranan digunakan untuk menyimpan hubungan antara peranan dan kebenaran . #🎜🎜##🎜🎜##🎜🎜#BUAT JADUAL kebenaran_peranan (#🎜🎜# id int(11) BUKAN NULL AUTO_INNCREMENT,#🎜🎜# role_id int(11) NOT NULL,#🎜🎜# perm_id int(11) NOT NULL,#🎜🎜# PRIMARY KEY (id)#🎜🎜 #) ENGINE=InnoDB DEFAULT CHARSET=utf8;#🎜🎜##🎜🎜#Di atas ialah reka bentuk struktur jadual MySQL sistem peperiksaan dalam talian Di bawah kami akan memperkenalkan contoh kod khusus untuk melaksanakan pengurusan hak pengguna. #🎜🎜##🎜🎜##🎜🎜#Tambah pengguna#🎜🎜##🎜🎜##🎜🎜#MASUKKAN KE DALAM pengguna (nama pengguna, kata laluan , role_id) VALUES ('admin', '123456', 1);#🎜🎜#
            #🎜🎜#Add role#🎜🎜## 🎜🎜##🎜🎜#INSERT IN TO role (rolename) NILAI ('Administrator');#🎜🎜#
              #🎜🎜 # Tambahkan kebenaran#🎜🎜##🎜🎜##🎜🎜#INSERT IN TO permission (permname, role_id) VALUES ('Tambah pengguna' , 1);#🎜🎜#
                #🎜🎜#Tambah perhubungan peranan pengguna#🎜🎜##🎜🎜##🎜🎜#MASUKKAN KE DALAM peranan_pengguna ( user_id , role_id) NILAI (1, 1);#🎜🎜#
                  #🎜🎜#Tambah perhubungan kebenaran peranan#🎜🎜##🎜🎜# # 🎜🎜#INSERT IN TO role_permission (role_id, perm_id) NILAI (1, 1);#🎜🎜##🎜🎜#Lulus di atas Dengan contoh kod, kami boleh menambah pengguna, menambah peranan, menambah kebenaran dan mewujudkan hubungan peranan pengguna dan hubungan kebenaran peranan. Dengan cara ini, kami boleh mengawal kebenaran pengguna secara fleksibel dan memastikan keselamatan dan kebolehpercayaan sistem. #🎜🎜##🎜🎜#Apabila pengguna log masuk ke sistem, kebenaran pengguna boleh ditentukan berdasarkan peranan pengguna, dengan itu mengehadkan operasi pengguna pada sistem. Contohnya, hanya pengguna dengan peranan pentadbir boleh menambah pengguna dan menetapkan kebenaran. #🎜🎜##🎜🎜#Ringkasnya, apabila mereka bentuk struktur jadual MySQL sistem peperiksaan dalam talian, penyelesaian pengurusan hak pengguna yang munasabah adalah sangat penting. Melalui reka bentuk struktur jadual yang munasabah dan pelaksanaan kod yang sepadan, kami boleh mengawal kebenaran pengguna secara fleksibel dan memastikan keselamatan dan kebolehpercayaan sistem. Saya harap kandungan di atas akan membantu anda memahami pengurusan hak pengguna sistem peperiksaan dalam talian. #🎜🎜#

Atas ialah kandungan terperinci Penyelesaian pengurusan hak pengguna dalam reka bentuk struktur jadual MySQL sistem peperiksaan dalam talian. 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