Heim  >  Artikel  >  Backend-Entwicklung  >  Steine ​​am Strand 830

Steine ​​am Strand 830

WBOY
WBOYOriginal
2016-08-08 09:24:10974Durchsuche

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.

Stellungnahme:
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