Comment utiliser l'autorisation d'authentification de ThinkPHP6
Jun 20, 2023 am 08:27 AMThinkPHP6 est un excellent framework PHP qui nous fournit de nombreux outils et fonctions efficaces. Parmi eux, l'autorisation Auth est une fonction très puissante qui peut nous aider à gérer les autorisations dans les applications. Cet article explique comment utiliser l'autorisation d'authentification de ThinkPHP6.
- Installez le composant Auth
Tout d'abord, nous devons installer le composant Auth. Exécutez la commande suivante dans le terminal :
composer require topthink/think-auth
Une fois l'installation terminée, nous devons ajouter le fournisseur de services Auth dans le fichier de configuration :
// config/app.php return [ // ... 'providers' => [ // ... thinkuthServiceProvider::class, ], ];
Ensuite, nous devons exécuter la commande suivante pour générer le fichier de configuration Auth :
php think auth:config
- Configurez le composant Auth
Le composant Auth peut être configuré pour répondre à différents besoins de gestion des autorisations :
// 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 : s'il faut activer l'authentification des autorisations, true pour activer, false pour fermer ; auth_type?: méthode d'authentification, 1 est l'authentification en temps réel (c'est-à-dire que les autorisations sont réacquises à chaque fois que les autorisations sont vérifiées), 2 est l'authentification de connexion (c'est-à-dire que les autorisations sont vérifiées après la connexion de l'utilisateur auth_group) ; : nom de la table de données du groupe d'utilisateurs auth_group_access : nom de la table d'association détaillée du groupe d'utilisateurs auth_rule : table des règles d'autorisation auth_user : table d'informations sur l'utilisateur ;
- Créer des règles d'autorisation
// appmodelAuthRule.php namespace appmodel; use thinkModel; class AuthRule extends Model { // }Ensuite, nous devons créer la table auth_rule dans la base de données :
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ī)則表達式', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='權(quán)限規(guī)則表';Ensuite, nous pouvons ajouter des règles d'autorisation en :
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();
- Créer un groupe d'utilisateurs
// appmodelAuthGroup.php namespace appmodel; use thinkModel; class AuthGroup extends Model { // }Ensuite, nous devons créer la table auth_group dans la base de données :
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='用戶組表';Ensuite, nous pouvons ajouter des groupes d'utilisateurs en :
use appmodelAuthGroup; $group = new AuthGroup; $group->title = '管理員'; $group->save(); $group = new AuthGroup; $group->title = '普通用戶'; $group->save();
- Créer les détails du groupe d'utilisateurs
// appmodelAuthGroupAccess.php namespace appmodel; use thinkModel; class AuthGroupAccess extends Model { // }Ensuite, nous devons créer la table auth_group_access dans la base de données :
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='用戶組明細表';Nous pouvons ensuite attribuer des règles d'autorisation aux groupes d'utilisateurs via :
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();
- Autorisation via Auth
// 授權(quán)驗證 use thinkacadeSession; use thinkacadeRequest; use thinkacadeConfig; use thinkacadeDb; use thinkuthAuth; class BaseController extends Controller { protected function initialize() { parent::initialize(); // 如果用戶未登錄,則跳轉(zhuǎn)到登錄頁面 if (!Session::has('user')) { $this->redirect('/login'); } $uid = Session::get('user.id'); // 如果是超級管理員,則直接通過權(quá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('無權(quán)限'); } } }Tout d'abord, nous devons obtenir les informations de connexion de l'utilisateur de la session. Si l'utilisateur n'est pas connecté, accédez à la page de connexion. Ensuite, nous obtenons l'uid de l'utilisateur actuel. Si l'utilisateur actuel est un super administrateur, la vérification des autorisations sera transmise directement. Sinon, nous créons une instance Auth et obtenons la route pour la requête en cours. Ensuite, nous utilisons la méthode Auth check pour vérifier si l'utilisateur actuel dispose de droits d'accès. Sinon, une erreur d'absence d'autorisation est générée.
- Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour exécuter le projet ThinkPHP, vous devez?: installer Composer?; utiliser Composer pour créer le projet?; entrer dans le répertoire du projet et exécuter php bin/console serve?; visiter http://localhost:8000 pour afficher la page d'accueil.

ThinkPHP dispose de plusieurs versions con?ues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

étapes pour exécuter ThinkPHP Framework localement?: Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un h?te virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Lorsque nous ne souhaitons plus utiliser l'actuelle édition de service à long terme de Win10 Enterprise Edition 2016, nous pouvons choisir de passer à l'édition professionnelle. La méthode est également très simple. Il suffit de modifier certains contenus et d'installer l'image système. Comment changer la version de service à long terme de Win10 Enterprise version 2016 en version professionnelle 1. Appuyez sur win+R, puis entrez ? regedit ? 2. Collez le chemin suivant directement dans la barre d'adresse ci-dessus : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT \CurrentVersion3 , puis recherchez l'EditionID et remplacez le contenu par "professionnel" pour confirmer

Comparaison des performances des frameworks Laravel et ThinkPHP?: ThinkPHP fonctionne généralement mieux que Laravel, en se concentrant sur l'optimisation et la mise en cache. Laravel fonctionne bien, mais pour les applications complexes, ThinkPHP peut être mieux adapté.

étapes d'installation de ThinkPHP?: Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

ThinkPHP est un framework PHP hautes performances présentant des avantages tels que le mécanisme de mise en cache, l'optimisation du code, le traitement parallèle et l'optimisation des bases de données. Les tests de performances officiels montrent qu'il peut gérer plus de 10 000 requêtes par seconde et qu'il est largement utilisé dans les sites Web à grande échelle et les systèmes d'entreprise tels que JD.com et Ctrip dans les applications réelles.

Suggestions de développement?: Comment utiliser le framework ThinkPHP pour le développement d'API Avec le développement continu d'Internet, l'importance de l'API (Application Programming Interface) est devenue de plus en plus importante. L'API est un pont de communication entre différentes applications. Elle peut réaliser le partage de données, l'appel de fonctions et d'autres opérations, et offre aux développeurs une méthode de développement relativement simple et rapide. En tant qu'excellent framework de développement PHP, le framework ThinkPHP est efficace, évolutif et facile à utiliser.
