Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen

PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen

WBOY
Freigeben: 2023-07-04 16:50:01
Original
1637 Leute haben es durchsucht

PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen

Mit der Popularität von Miniprogrammen und der Erweiterung ihres Anwendungsbereichs haben Benutzer höhere Anforderungen an die Funktionen und Sicherheit von Miniprogrammen gestellt, darunter Berechtigungsverwaltung und Benutzerrollen Einstellungen sind ein wichtiger Bestandteil zur Gewährleistung der Sicherheit von Miniprogrammen. Durch die Verwendung von PHP zur Berechtigungsverwaltung und Benutzerrolleneinstellung in Miniprogrammen können Benutzerdaten und Privatsphäre wirksam geschützt werden. Im Folgenden wird erläutert, wie diese Funktion implementiert wird.

1. Implementierung der Berechtigungsverwaltung

Berechtigungsverwaltung bezieht sich auf die Gewährung unterschiedlicher Betriebsberechtigungen basierend auf der Identität und Rolle des Benutzers. Im Miniprogramm können wir die Berechtigungsverwaltung durch die folgenden Schritte implementieren:

  1. Benutzertabelle und Berechtigungstabelle erstellen

Zuerst müssen wir eine Benutzertabelle und eine Berechtigungstabelle erstellen. Die Benutzertabelle enthält die grundlegenden Informationen des Benutzers, z. B. Benutzername, Kennwort, Rollen-ID usw.; die Berechtigungstabelle enthält Berechtigungsinformationen für jeden Funktionsvorgang, z. B. Funktions-ID, Funktionsname, Berechtigungsstufe usw.

Beispielcode:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `role_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `permission` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `level` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Nach dem Login kopieren
  1. Benutzerrollen festlegen

Bestimmen Sie die Rollen verschiedener Benutzer und fügen Sie das Rollen-ID-Feld zur Benutzertabelle hinzu. Beispielsweise ist die Rollen-ID eines Administratorbenutzers 1 und die Rollen-ID eines normalen Benutzers 2.

Beispielcode:

// 用户注册时设定角色ID为2
INSERT INTO `user` (`username`, `password`, `role_id`) 
VALUES ('user1', '123456', '2');

// 管理员注册时设定角色ID为1
INSERT INTO `user` (`username`, `password`, `role_id`) 
VALUES ('admin1', 'admin123', '1');
Nach dem Login kopieren
  1. Berechtigungen erteilen

Gewähren Sie dem Benutzer die entsprechenden Berechtigungen basierend auf den Berechtigungsstufeneinstellungen in der Berechtigungstabelle. Administratorbenutzer verfügen beispielsweise über alle Funktionsberechtigungen, während normale Benutzer nur auf einige Funktionen zugreifen können.

Beispielcode:

// 获取用户角色对应的权限等级
$sql = "SELECT `level` FROM `permission` 
WHERE `id` IN (SELECT `permission_id` FROM `role_permission` WHERE `role_id` = ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$role_id]);
$permissions = $stmt->fetchAll(PDO::FETCH_ASSOC);

// 根据权限等级判断用户是否有权限
foreach ($permissions as $permission) {
  if ($permission['level'] >= $required_level) {
    // 用户有权限,执行相应操作
  } else {
    // 用户无权限,提示无权操作
  }
}
Nach dem Login kopieren

2. Implementierung der Benutzerrolleneinstellung

Die Benutzerrolleneinstellung bezieht sich auf die Einstellung der Funktionen, auf die je nach Benutzerrolle zugegriffen und diese bedient werden können. Im Miniprogramm können wir die Benutzerrolleneinstellung durch die folgenden Schritte implementieren:

  1. Erstellen Sie eine Rollentabelle

Erstellen Sie eine Rollentabelle, einschließlich Feldern wie Rollen-ID und Rollenname.

Beispielcode:

CREATE TABLE `role` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Nach dem Login kopieren
  1. Legen Sie die der Rolle entsprechenden Berechtigungen fest.

Geben Sie verschiedenen Rollen je nach Berechtigungsstufe und Funktions-ID-Einstellungen in der Berechtigungstabelle unterschiedliche Funktionen.

Beispielcode:

// 管理员角色拥有所有权限
INSERT INTO `role_permission` (`role_id`, `permission_id`) 
VALUES (1, 1), (1, 2), (1, 3);

// 普通用户角色只有部分权限
INSERT INTO `role_permission` (`role_id`, `permission_id`) 
VALUES (2, 1), (2, 3);
Nach dem Login kopieren
  1. Benutzerrolle festlegen

Legen Sie die entsprechende Rolle basierend auf der Rollen-ID des Benutzers fest.

Beispielcode:

// 根据用户ID获取角色ID
$sql = "SELECT `role_id` FROM `user` WHERE `id` = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$user_id]);
$role_id = $stmt->fetchColumn();

// 根据角色ID获取用户角色
$sql = "SELECT `name` FROM `role` WHERE `id` = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$role_id]);
$role = $stmt->fetchColumn();
Nach dem Login kopieren

Durch die oben genannten Schritte können wir PHP-basierte Berechtigungsverwaltungs- und Benutzerrolleneinstellungsfunktionen im Miniprogramm implementieren. Dadurch wird sichergestellt, dass verschiedene Benutzer nur ihre autorisierten Vorgänge ausführen können, wodurch Benutzerdaten und Privatsphäre wirksam geschützt werden.

Zusammenfassung:

PHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen sind ein wichtiger Teil der Gewährleistung der Sicherheit von Miniprogrammen. Durch das Erstellen von Benutzertabellen und Berechtigungstabellen sowie das Festlegen von Benutzerrollen und den Rollen entsprechenden Berechtigungen können die Funktionen der Berechtigungsverwaltung und Benutzerrolleneinstellung realisiert werden. Dadurch kann die Sicherheit von Miniprogrammen gewährleistet und die Anforderungen der Benutzer an die Sicherheit von Miniprogrammen erfüllt werden.

Das obige ist der detaillierte Inhalt vonPHP-Berechtigungsverwaltung und Benutzerrolleneinstellung bei der Entwicklung von Miniprogrammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage