Heim PHP-Framework Denken Sie an PHP Zuweisung von Modulberechtigungen in thinkphp

Zuweisung von Modulberechtigungen in thinkphp

May 23, 2020 am 09:06 AM
thinkphp

Zuweisung von Modulberechtigungen in thinkphp

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

Zuweisung von Modulberechtigungen in thinkphp

Dann sollte der Inhalt der think_auth_rule-Tabelle fast so aussehen:

Zuweisung von Modulberechtigungen in thinkphp

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('没有权限!');
        }
    }
}
Nach dem Login kopieren

zur Moduldatei CommAction.class.php und dann let other Die Moduldatei erbt diese Datei, zum Beispiel ActivityAction.class.php:

<?php
class activityAction extends CommAction{
//操作方法
}
?>
Nach dem Login kopieren

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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So führen Sie das Thinkphp-Projekt aus So führen Sie das Thinkphp-Projekt aus Apr 09, 2024 pm 05:33 PM

So führen Sie das Thinkphp-Projekt aus

Es gibt mehrere Versionen von thinkphp Es gibt mehrere Versionen von thinkphp Apr 09, 2024 pm 06:09 PM

Es gibt mehrere Versionen von thinkphp

So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

So führen Sie thinkphp aus

So installieren Sie thinkphp So installieren Sie thinkphp Apr 09, 2024 pm 05:42 PM

So installieren Sie thinkphp

Was ist besser, Laravel oder Thinkphp? Was ist besser, Laravel oder Thinkphp? Apr 09, 2024 pm 03:18 PM

Was ist besser, Laravel oder Thinkphp?

Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben Entwicklungsvorschläge: So verwenden Sie das ThinkPHP-Framework zur Implementierung asynchroner Aufgaben Nov 22, 2023 pm 12:01 PM

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

ThinkPHP6-Datenverschlüsselung und -entschlüsselung: Schutz der Sicherheit sensibler Daten ThinkPHP6-Datenverschlüsselung und -entschlüsselung: Schutz der Sicherheit sensibler Daten Aug 25, 2023 pm 10:52 PM

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

Entwicklung des ThinkPHP6-Backend-Managementsystems: Realisierung von Backend-Funktionen Entwicklung des ThinkPHP6-Backend-Managementsystems: Realisierung von Backend-Funktionen Aug 27, 2023 am 11:55 AM

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

See all articles