Heim > PHP-Framework > Denken Sie an PHP > Wie verwende ich den Auth-Authentifizierungsautoritätsvorgang in ThinkPHP6?

Wie verwende ich den Auth-Authentifizierungsautoritätsvorgang in ThinkPHP6?

WBOY
Freigeben: 2023-06-12 08:23:15
Original
2213 Leute haben es durchsucht

Mit der Entwicklung von Internetanwendungen ist das Berechtigungsmanagement zu einem unverzichtbaren Bestandteil der Anwendungsentwicklung geworden. Während des Entwicklungsprozesses müssen wir verschiedenen Benutzern unterschiedliche Berechtigungen zuweisen, um Datensicherheit und Betriebsberechtigungskontrolle zu erreichen. Der Auth-Authentifizierungsberechtigungsvorgang im ThinkPHP6-Framework bietet uns eine einfache und benutzerfreundliche Lösung.

Was ist der Berechtigungsvorgang für die Auth-Authentifizierung?

Auth ist ein Berechtigungsverwaltungs-Plug-in im ThinkPHP6-Framework. Es implementiert einen effizienten und kontrollierbaren Berechtigungsverwaltungsmechanismus durch die Definition und Verwaltung von Rollen, Benutzern, Berechtigungen, Regeln usw. Zu seinen Vorteilen gehören einfache Bedienung, starke Anpassungsfähigkeit, hohe Steuerbarkeit und gute Skalierbarkeit. Es wird häufig in Anwendungen auf Unternehmensebene eingesetzt.

Hier erklären wir, wie Sie Auth verwenden, um die Berechtigungsverwaltung in ThinkPHP6 zu implementieren.

Authentifizierungsautoritätsmechanismus

Bevor wir Auth verwenden, müssen wir seinen Authentifizierungsautoritätsmechanismus verstehen. Seine Rollen, Benutzer, Berechtigungen, Regeln und andere Konzepte sind wie folgt definiert:

  1. Rolle: bezieht sich auf eine Berechtigungseinheit, die einem oder mehreren Benutzern Berechtigungen zuweist.
  2. Benutzer: Eine Person im System, bei der es sich um einen echten Benutzer oder ein Systemkonto handeln kann.
  3. Berechtigung: Bezieht sich auf das für einen Benutzer (oder eine Rolle) autorisierte Betriebsverhalten, ähnlich den Berechtigungseinstellungen in der Datenbank.
  4. Regel: bezieht sich auf das Festlegen einiger Einschränkungen für Berechtigungen, z. B. zeitliche Einschränkungen, eingeschränkte IPs usw.

Konkret können wir einige allgemeine Berechtigungen wie folgt definieren:

  1. Menüberechtigungen: bezieht sich auf die Zugriffskontrolle für ein bestimmtes Menü der Anwendung, sodass verschiedene Benutzer unterschiedliche Menüelemente sehen können.
  2. Betriebsberechtigungen: Bezieht sich auf die Zugriffskontrolle für ein bestimmtes Betriebsverhalten der Anwendung, wodurch verschiedene Benutzer unterschiedliche Betriebsberechtigungen erhalten können.
  3. Datenberechtigungen: bezieht sich auf die Kontrolle des Zugriffs auf bestimmte Daten in der Anwendung, wodurch Benutzer möglicherweise nur die mit ihnen verknüpften Daten sehen oder ändern dürfen.
  4. Feldberechtigungen: bezieht sich auf die Zugriffskontrolle auf ein bestimmtes Feld in der Anwendung, wodurch Benutzer darauf beschränkt werden können, nur die Felder anzuzeigen oder zu ändern, mit denen sie verknüpft sind.

Implementierung des Authentifizierungsberechtigungsvorgangs

Mit dem Grundkonzept des Authentifizierungsberechtigungsmechanismus können wir den Auth-Authentifizierungsberechtigungsvorgang in ThinkPHP6 starten.

  1. Installieren Sie das Auth-Plug-in

Zuerst müssen wir sicherstellen, dass das Auth-Plug-in in der Anwendung installiert wurde. Sie können es mit dem folgenden Befehl installieren:

composer require topthink/think-auth
Nach dem Login kopieren
  1. Auth-Middleware einführen

Verwenden Die Authentifizierung in der Anwendung erfordert die Verwendung von Middleware, in der Konfiguration in /middleware.php konfigurieren:

return [
    //全局中间件列表
    'global' => [
            hinkmiddlewareSessionInit::class,
            hinkmiddlewareLoadLangPack::class,
            hinkmiddlewareCheckRequestCache::class,
            hinkmiddlewareSendFile::class,
    ],
    //中间件别名
    'alias' => [
        'auth' =>     hinkmiddlewareAuth::class,
    ],
];
Nach dem Login kopieren
  1. Berechtigungsregeln definieren

Wenn die Anwendung initialisiert wird, müssen wir einige Berechtigungsregeln definieren, die für die Berechtigungsauthentifizierung verwendet werden , zum Beispiel:

use thinkacadeAuth;

//定义规则
Auth::rule('admin.user/index', 'checkAdmin');
Auth::rule('admin.user/add', 'checkAdmin');
Auth::rule('admin.user/edit', 'checkAdmin');
Auth::rule('admin.user/del', 'checkAdmin');
Nach dem Login kopieren

Im obigen Code definieren wir grundlegende Berechtigungsregeln für die Benutzerverwaltung. Ohne diese Berechtigungen kann nicht auf die entsprechenden Controller-Vorgänge zugegriffen werden.

  1. Rollen- und Benutzerautorisierung

Wir müssen Rollen und Benutzer in der Anwendung autorisieren, die bei der Initialisierung der Anwendung autorisiert werden können:

//定义角色
Auth::group('admin', function () {
    //设置角色权限
    Auth::setRule([
        'admin.user/index',
        'admin.user/add',
        'admin.user/edit',
        'admin.user/del',
    ]);
});

//定义用户并授权
Auth::user('admin', function () {
    Auth::addToGroup('admin')//添加角色
        ->addPermission(['admin.user/add'])//添加权限
        ->removePermission(['admin.user/del']);//移除权限
});
Nach dem Login kopieren

Im obigen Code definieren wir eine Rolle mit dem Namen admin und legen entsprechende Berechtigungsregeln fest . Dann haben wir einen Benutzer namens admin definiert, der die Administratorrolle hat, die Berechtigung admin.user/add autorisiert und die Berechtigung admin.user/del entfernt.

  1. Authentifizierung

Bevor wir die Berechtigungsauthentifizierung durchführen, können wir zunächst Rollen, Benutzer, Berechtigungen usw. im Controller beurteilen:

use thinkacadeAuth;

class User extends Controller
{
    //进行认证
    public function index()
    {
        //验证用户是否登录,没有登录则跳转到登录页面
        if (!Auth::check()) {
            return redirect('admin/auth/login');
        }

        //验证是否为超级管理员,是则直接放行
        if (Auth::isSuperAdmin()) {
            return $this->view->assign('username', Auth::getUser()['username'])->fetch();
        }

        //验证是否为管理员角色,是则验证权限,否则跳转到其他页面
        if (Auth::group('admin')->check()) {
            if (Auth::check('admin.user/index')) {
                return $this->view->assign('username', Auth::getUser()['username'])->fetch();
            } else {
                return redirect('admin/index/model_error');
            }
        } else {
            return redirect('admin/index/role_error');
        }
    }
}
Nach dem Login kopieren

Im obigen Code haben wir eine Benutzeranmeldungsüberprüfung und eine Superadministratorüberprüfung, Rolle und Berechtigung durchgeführt Verifizierung und andere Vorgänge und kehren schließlich zur entsprechenden Seite zurück oder springen.

Zusammenfassung

Durch die oben genannten Vorgänge können wir den Authentifizierungs-Berechtigungsvorgang im ThinkPHP6-Framework verwenden, um eine einfache, effiziente und kontrollierbare Anwendungsberechtigungsverwaltung zu erreichen und so die Datensicherheit und die Betriebsberechtigungskontrolle sicherzustellen. Um die Sicherheit der Anwendung zu gewährleisten, müssen wir während der Verwendung verschiedene Berechtigungsregeln sorgfältig festlegen, die entsprechenden Benutzer- und Rollenberechtigungen einschränken und die Skalierbarkeit und Steuerbarkeit der Anwendung verbessern.

Das obige ist der detaillierte Inhalt vonWie verwende ich den Auth-Authentifizierungsautoritätsvorgang in ThinkPHP6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage