Heim > Artikel > Backend-Entwicklung > Steine am Strand 830
1. Was ist Berechtigungsmanagement? Unter Berechtigungsmanagement versteht man die Unterteilung von Back-End-Funktionen und die Verwaltung verschiedener Aufgaben für verschiedene Mitarbeiter.
Wie wird RBAC durch die Steuerung verschiedener Controller und Kontrollen implementiert? verschiedene Umsetzungsmethoden, Umsetzungsmanagement.
Um RBAC zu implementieren, werden drei Tabellen benötigt, eine Benutzertabelle, eine Rollentabelle und eine Berechtigungstabelle
Benutzertabelle:
id ****** role_id
Rollentabelle
role_id ****** access_ids (alle zugänglichen Berechtigungs-IDs aufzeichnen)
Berechtigungstabelle
access_id
Zeichnen Sie alle Controller oder Aktionen unter dem Controller auf
2. So steuern Sie: Treffen Sie einfach eine Beurteilung in der übergeordneten Klasse des Controllers oder der Initialisierungsmethode des Controllers
$role_id = $_SESSION['role_id'] ;
$role = $db->role->findByPk($role_id);
$access = $db->access-> ;findAllByPk($role['access_id ']);
Den Controller oder die Controller-Methode abrufen, die gemäß der Router-Klasse ausgeführt werden soll
$m = current_method();//Den aktuellen Zugriff abrufen Die Methode
if(!in_array($m, $access)){
redirect('/index');
}
Das Obige hat den Seaside Stone 830 vorgestellt, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.