Zuweisung von Modulberechtigungen in thinkphp
May 23, 2020 am 09:06 AMVerwendet die Authority-Berechtigungsklasse, die mit ThinkPHP geliefert wird! Die ThinkPHP-Version ist 3.1.3
Was ich erreichen möchte, ist die Zuweisung von Berechtigungen basierend auf dem Modulnamen. Dies kann natürlich auf den Operationsnamen erweitert werden.
Wenn ich diese Moduldateien habe:
Dann sollte der Inhalt der think_auth_rule-Tabelle fast so aussehen:
Zum Beispiel die UID meines angemeldeten Benutzers = 7.
Die Tabelle think_auth_group_access hat die ID = 9, die Gruppe = 6;
Die Tabelle think_auth_group hat die ID = 6, title=" Universe Administrator", Rules="4,5,8";
Dann muss ich nur noch Folgendes hinzufügen:
class CommAction extends Action{ public function __construct(){ parent::__construct(); $this->assign('waitSecond',2); $this->checkRight(); } private function checkRight(){ import('ORG.Util.Authority'); $auth=new Authority(); $r = $auth->getAuth(MODULE_NAME,session('S_USER_ID')); if(!$r){ $this->error('没有权限!'); } } }
zur Moduldatei CommAction.class.php und dann let other Die Moduldatei erbt diese Datei, zum Beispiel ActivityAction.class.php:
<?php class activityAction extends CommAction{ //操作方法 } ?>
Auf diese Weise kann ich normal darauf zugreifen, wenn ich auf die Module mit den IDs 4, 5 und 8 in think_auth_rules zugreife ;
Wenn Sie auf Module mit den IDs 10, 11, 12 und 13 zugreifen, springt es zu einer Seite, die fehlschlägt und Sie auffordert, dass keine Berechtigung vorliegt~
Jetzt das Problem, auf das ich stoße Die Verwendung dieser Berechtigungsklasse lautet: think_auth_rule table. Ich muss den Inhalt manuell hinzufügen. Es wäre großartig, wenn er automatisch generiert werden könnte.
Empfohlenes Tutorial: „TP5“
Das obige ist der detaillierte Inhalt vonZuweisung von Modulberechtigungen in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So führen Sie das Thinkphp-Projekt aus

Es gibt mehrere Versionen von thinkphp

Was ist besser, Laravel oder Thinkphp?

Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben

ThinkPHP6-Datenverschlüsselung und -entschlüsselung: Schutz der Sicherheit sensibler Daten

Entwicklung des ThinkPHP6-Backend-Managementsystems: Realisierung von Backend-Funktionen
