国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim PHP-Framework Denken Sie an PHP So verwenden Sie die Auth-Autorisierung von ThinkPHP6

So verwenden Sie die Auth-Autorisierung von ThinkPHP6

Jun 20, 2023 am 08:27 AM
thinkphp auth Genehmigung

ThinkPHP6 ist ein hervorragendes PHP-Framework, das uns viele effiziente Tools und Funktionen bietet. Unter diesen ist die Authentifizierung eine sehr leistungsstarke Funktion, die uns bei der Verwaltung von Berechtigungen in Anwendungen helfen kann. In diesem Artikel wird erl?utert, wie Sie die Auth-Autorisierung von ThinkPHP6 verwenden.

  1. Installieren Sie die Auth-Komponente

Zuerst müssen wir die Auth-Komponente installieren. Führen Sie den folgenden Befehl im Terminal aus:

composer require topthink/think-auth

Nachdem die Installation abgeschlossen ist, müssen wir den Auth-Dienstanbieter in der Konfigurationsdatei hinzufügen:

// config/app.php

return [
    // ...
    'providers' => [
        // ...
        thinkuthServiceProvider::class,
    ],
];

Dann müssen wir den folgenden Befehl ausführen, um die Auth-Konfigurationsdatei zu generieren:

php think auth:config
  1. Konfigurieren Sie die Auth-Komponente

Die Auth-Komponente kann konfiguriert werden, um unterschiedliche Berechtigungsverwaltungsanforderungen zu erfüllen. Das Folgende ist eine Grundkonfiguration:

// config/auth.php

return [
    'auth_on' => true,
    'auth_type' => 1,
    'auth_group' => 'auth_group',
    'auth_group_access' => 'auth_group_access',
    'auth_rule' => 'auth_rule',
    'auth_user' => 'user',
];
  • auth_on: ob die Berechtigungsauthentifizierung aktiviert werden soll, true zum Aktivieren, false zum Schlie?en
  • auth_type: Authentifizierungsmethode, 1 ist Echtzeitauthentifizierung (das hei?t, die Berechtigungen werden jedes Mal erneut angefordert, wenn die Berechtigungen überprüft werden), 2 ist die Anmeldeauthentifizierung (das hei?t, die Berechtigungen werden überprüft, nachdem sich der Benutzer angemeldet hat); : Name der Benutzergruppendatentabelle;
  • auth_group_access: Name der detaillierten Zuordnungstabelle der Benutzergruppe;
  • auth_rule: Tabelle mit Berechtigungsregeln;
  • Berechtigungsregeln erstellen
    Bevor wir die Authentifizierung verwenden, müssen wir zun?chst einige Berechtigungsregeln erstellen. Berechtigungsregeln k?nnen den Zugriff von Benutzern auf verschiedene Ressourcen steuern. Wir müssen eine auth_rule-Tabelle in der Datenbank erstellen und dann Berechtigungsregeln erstellen, indem wir Datens?tze hinzufügen.
  1. // appmodelAuthRule.php
    
    namespace appmodel;
    
    use thinkModel;
    
    class AuthRule extends Model
    {
        //
    }
  2. Als n?chstes müssen wir die auth_rule-Tabelle in der Datenbank erstellen:
CREATE TABLE `auth_rule` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(100) NOT NULL COMMENT '規(guī)則',
    `title` VARCHAR(100) NOT NULL COMMENT '規(guī)則名稱',
    `type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '規(guī)則類型',
    `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '狀態(tài)',
    `condition` TEXT COMMENT '規(guī)則表達(dá)式',
    PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='權(quán)限規(guī)則表';

Dann k?nnen wir einige Berechtigungsregeln hinzufügen, indem wir:

use appmodelAuthRule;

$rule = new AuthRule;
$rule->name = 'admin/user/index';
$rule->title = '管理用戶';
$rule->save();

$rule = new AuthRule;
$rule->name = 'admin/user/add';
$rule->title = '添加用戶';
$rule->save();

$rule = new AuthRule;
$rule->name = 'admin/user/edit';
$rule->title = '編輯用戶';
$rule->save();

$rule = new AuthRule;
$rule->name = 'admin/user/del';
$rule->title = '刪除用戶';
$rule->save();

Benutzergruppe erstellen

    Zus?tzlich zu den Berechtigungsregeln müssen wir auch erstellen Benutzergruppe. Eine Benutzergruppe ist eine Sammlung von Benutzern mit denselben Zugriffsrechten. Wir müssen eine auth_group-Tabelle in der Datenbank erstellen und dann Benutzergruppen erstellen, indem wir Datens?tze hinzufügen.
  1. // appmodelAuthGroup.php
    
    namespace appmodel;
    
    use thinkModel;
    
    class AuthGroup extends Model
    {
        //
    }
  2. Als n?chstes müssen wir die auth_group-Tabelle in der Datenbank erstellen:
CREATE TABLE `auth_group` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `title` VARCHAR(100) NOT NULL COMMENT '組名',
    `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT '狀態(tài)',
    PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用戶組表';

Dann k?nnen wir einige Benutzergruppen hinzufügen, indem wir:

use appmodelAuthGroup;

$group = new AuthGroup;
$group->title = '管理員';
$group->save();

$group = new AuthGroup;
$group->title = '普通用戶';
$group->save();

Benutzergruppendetails erstellen

    Jetzt haben wir einige Berechtigungsregeln und Benutzer erstellt Gruppen. Als n?chstes müssen wir die Regeln den Benutzergruppen zuweisen. Wir müssen eine auth_group_access-Tabelle in der Datenbank erstellen und dann Benutzergruppendetails erstellen, indem wir Datens?tze hinzufügen.
  1. // appmodelAuthGroupAccess.php
    
    namespace appmodel;
    
    use thinkModel;
    
    class AuthGroupAccess extends Model
    {
        //
    }
  2. Als n?chstes müssen wir die Tabelle auth_group_access in der Datenbank erstellen:
CREATE TABLE `auth_group_access` (
    `uid` INT NOT NULL COMMENT '用戶id',
    `group_id` INT NOT NULL COMMENT '用戶組id',
    UNIQUE KEY `uid_group_id` (`uid`, `group_id`),
    KEY `uid` (`uid`),
    KEY `group_id` (`group_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='用戶組明細(xì)表';

Anschlie?end k?nnen wir Benutzergruppen Berechtigungsregeln zuweisen über:

use appmodelAuthGroupAccess;

$access = new AuthGroupAccess;
$access->uid = 1;
$access->group_id = 1;
$access->save();

$access = new AuthGroupAccess;
$access->uid = 2;
$access->group_id = 2;
$access->save();

$access = new AuthGroupAccess;
$access->uid = 3;
$access->group_id = 2;
$access->save();

Autorisierung mit Auth

    Jetzt haben wir einige Berechtigungsregeln und Benutzer erstellt Gruppen erstellen und Benutzergruppen Regeln zuweisen. Als n?chstes k?nnen wir mithilfe der Auth-Autorisierung überprüfen, ob der Benutzer über Zugriffsrechte verfügt.
  1. // 授權(quán)驗(yàn)證
    use thinkacadeSession;
    use thinkacadeRequest;
    use thinkacadeConfig;
    use thinkacadeDb;
    use thinkuthAuth;
    
    class BaseController extends Controller
    {
        protected function initialize()
        {
            parent::initialize();
    
            // 如果用戶未登錄,則跳轉(zhuǎn)到登錄頁(yè)面
            if (!Session::has('user')) {
                $this->redirect('/login');
            }
    
            $uid = Session::get('user.id');
    
            // 如果是超級(jí)管理員,則直接通過(guò)權(quán)限驗(yàn)證
            if ($uid == Config::get('admin_id')) {
                return true;
            }
    
            $auth = new Auth;
            $route = strtolower(Request::controller() . '/' . Request::action());
            if (!$auth->check($route, $uid)) {
                $this->error('無(wú)權(quán)限');
            }
        }
    }
    Zuerst müssen wir die Benutzeranmeldeinformationen aus der Sitzung abrufen. Wenn der Benutzer nicht angemeldet ist, springen Sie zur Anmeldeseite.

    Dann erhalten wir die UID des aktuellen Benutzers. Wenn der aktuelle Benutzer ein Superadministrator ist, wird die Berechtigungsüberprüfung direkt durchgeführt.

    Andernfalls erstellen wir eine Auth-Instanz und erhalten die Route für die aktuelle Anfrage. Anschlie?end verwenden wir die Auth-Check-Methode, um zu überprüfen, ob der aktuelle Benutzer über Zugriffsrechte verfügt. Wenn nicht, wird ein Fehler ?Keine Berechtigung“ ausgegeben.

    Zusammenfassung

      In diesem Artikel haben wir gelernt, wie man die Auth-Autorisierung in ThinkPHP6 verwendet. Wir verwenden die Auth-Komponente, um die Berechtigungsverwaltung zu implementieren und einige Berechtigungsregeln und Benutzergruppen zu erstellen. Schlie?lich verwenden wir die Auth-Autorisierung, um zu überprüfen, ob der Benutzer über Zugriffsrechte verfügt. Wenn Sie erweiterte Berechtigungsverwaltungsfunktionen ben?tigen, k?nnen Sie dies durch die Erweiterung der Auth-Komponente erreichen.

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Auth-Autorisierung von ThinkPHP6. 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 KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

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)

Hei?e Themen

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

Um das ThinkPHP-Projekt auszuführen, müssen Sie: Composer installieren, das Projektverzeichnis aufrufen und http://localhost:8000 aufrufen.

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

ThinkPHP verfügt über mehrere Versionen, die für verschiedene PHP-Versionen entwickelt wurden. Zu den Hauptversionen geh?ren 3.2, 5.0, 5.1 und 6.0, w?hrend Nebenversionen dazu dienen, Fehler zu beheben und neue Funktionen bereitzustellen. Die neueste stabile Version ist ThinkPHP 6.0.16. Berücksichtigen Sie bei der Auswahl einer Version die PHP-Version, die Funktionsanforderungen und den Community-Support. Für optimale Leistung und Support wird empfohlen, die neueste stabile Version zu verwenden.

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

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

So aktualisieren Sie die Langzeitdienstversion von Win10 Enterprise Version 2016 auf die Professional-Version So aktualisieren Sie die Langzeitdienstversion von Win10 Enterprise Version 2016 auf die Professional-Version Jan 03, 2024 pm 11:26 PM

Wenn wir die aktuelle Win10 Enterprise Edition 2016 Long-Term Service Edition nicht mehr verwenden m?chten, k?nnen wir auf die Professional Edition umsteigen. Die Methode ist auch sehr einfach. Wir müssen nur einige Inhalte ?ndern und das System-Image installieren. So ?ndern Sie die Langzeitdienstversion von Win10 Enterprise Version 2016 in die Professional-Version 1. Drücken Sie Win+R und geben Sie dann ?regedit“ ein. 2. Fügen Sie den folgenden Pfad direkt in die Adressleiste oben ein: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion3 , suchen Sie dann die EditionID und ersetzen Sie den Inhalt zur Best?tigung durch ?professional“.

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

Leistungsvergleich von Laravel- und ThinkPHP-Frameworks: ThinkPHP schneidet im Allgemeinen besser ab als Laravel und konzentriert sich auf Optimierung und Caching. Laravel schneidet gut ab, aber für komplexe Anwendungen ist ThinkPHP m?glicherweise besser geeignet.

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

ThinkPHP-Installationsschritte: Bereiten Sie PHP-, Composer- und MySQL-Umgebungen vor. Erstellen Sie Projekte mit Composer. Installieren Sie das ThinkPHP-Framework und die Abh?ngigkeiten. Datenbankverbindung konfigurieren. Anwendungscode generieren. Starten Sie die Anwendung und besuchen Sie http://localhost:8000.

Wie ist die Leistung von thinkphp? Wie ist die Leistung von thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP ist ein leistungsstarkes PHP-Framework mit Vorteilen wie Caching-Mechanismus, Codeoptimierung, Parallelverarbeitung und Datenbankoptimierung. Offizielle Leistungstests zeigen, dass es mehr als 10.000 Anfragen pro Sekunde verarbeiten kann und in gro?en Websites und Unternehmenssystemen wie JD.com und Ctrip in praktischen Anwendungen weit verbreitet ist.

Entwicklungsvorschl?ge: So verwenden Sie das ThinkPHP-Framework für die API-Entwicklung Entwicklungsvorschl?ge: So verwenden Sie das ThinkPHP-Framework für die API-Entwicklung Nov 22, 2023 pm 05:18 PM

Entwicklungsvorschl?ge: So verwenden Sie das ThinkPHP-Framework für die API-Entwicklung Mit der kontinuierlichen Entwicklung des Internets ist die Bedeutung von API (Application Programming Interface) immer wichtiger geworden. Die API ist eine Brücke für die Kommunikation zwischen verschiedenen Anwendungen. Sie kann Datenaustausch, Funktionsaufrufe und andere Vorg?nge realisieren und bietet Entwicklern eine relativ einfache und schnelle Entwicklungsmethode. Als hervorragendes PHP-Entwicklungsframework ist das ThinkPHP-Framework effizient, skalierbar und einfach zu verwenden.

See all articles