Avec le développement des applications Internet, la gestion des autorisations est devenue un élément indispensable du développement d'applications. Au cours du processus de développement, nous devons attribuer différentes autorisations à différents utilisateurs pour assurer la sécurité des données et le contrôle des autorisations de fonctionnement. L'opération d'autorisation d'authentification Auth dans le framework ThinkPHP6 nous offre une solution simple et facile à utiliser.
Qu'est-ce que l'opération d'autorisation d'authentification ?
Auth est un plug-in de gestion des autorisations dans le framework ThinkPHP6. Il implémente un mécanisme de gestion des autorisations efficace et contrôlable en définissant et en gérant les rôles, les utilisateurs, les autorisations, les règles, etc. Ses avantages incluent un fonctionnement simple, une forte adaptabilité, une contrôlabilité élevée et une bonne évolutivité. Il est largement utilisé dans les applications au niveau de l'entreprise.
Nous expliquons ici comment utiliser Auth pour implémenter la gestion des autorisations dans ThinkPHP6.
Mécanisme d'autorité d'authentification
Avant d'utiliser Auth, nous devons comprendre son mécanisme d'autorité d'authentification. Ses rôles, utilisateurs, autorisations, règles et autres concepts sont définis comme suit :
Plus précisément, nous pouvons définir certaines autorisations courantes comme suit :
Implémentation de l'opération d'autorisation d'authentification
Avec le concept de base du mécanisme d'autorisation d'authentification, nous pouvons démarrer l'opération d'autorisation d'authentification Auth dans ThinkPHP6.
Nous devons d'abord nous assurer que le plug-in Auth a été installé dans l'application. Vous pouvez l'installer via la commande suivante :
composer require topthink/think-auth
Utiliser. L'authentification dans l'application nécessite l'utilisation d'un middleware, dans la configuration Configurez dans /middleware.php :
return [ //全局中间件列表 'global' => [ hinkmiddlewareSessionInit::class, hinkmiddlewareLoadLangPack::class, hinkmiddlewareCheckRequestCache::class, hinkmiddlewareSendFile::class, ], //中间件别名 'alias' => [ 'auth' => hinkmiddlewareAuth::class, ], ];
Lorsque l'application est initialisée, nous devons définir certaines règles d'autorisation, qui seront utilisées pour l'authentification des autorisations. , par exemple :
use thinkacadeAuth; //定义规则 Auth::rule('admin.user/index', 'checkAdmin'); Auth::rule('admin.user/add', 'checkAdmin'); Auth::rule('admin.user/edit', 'checkAdmin'); Auth::rule('admin.user/del', 'checkAdmin');
Dans le code ci-dessus, nous définissons des règles d'autorisation de base pour la gestion des utilisateurs. Sans ces autorisations, les opérations du contrôleur correspondantes ne sont pas accessibles.
Nous devons autoriser les rôles et les utilisateurs dans l'application, qui peuvent être autorisés lorsque l'application est initialisée :
//定义角色 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']);//移除权限 });
Dans le code ci-dessus, nous définissons un rôle nommé admin et définissons les règles d'autorisation correspondantes. . Ensuite, nous avons défini un utilisateur nommé admin, qui a le rôle d'administrateur, autorisé l'autorisation admin.user/add et supprimé l'autorisation admin.user/del.
Avant d'effectuer l'authentification des autorisations, nous pouvons d'abord juger les rôles, les utilisateurs, les autorisations, etc. dans le contrôleur :
use thinkacadeAuth; 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'); } } }
Dans le code ci-dessus, nous avons effectué la vérification de la connexion de l'utilisateur et la vérification du super-administrateur, le rôle et l'autorisation vérification et autres opérations, et enfin revenir à la page ou sauter correspondante.
Résumé
Grâce aux opérations ci-dessus, nous pouvons utiliser l'opération d'autorisation d'authentification Auth dans le framework ThinkPHP6 pour obtenir une gestion simple, efficace et contrôlable des autorisations d'application, garantissant la sécurité des données et le contrôle des autorisations d'opération. Pendant l'utilisation, afin de garantir la sécurité de l'application, nous devons définir soigneusement diverses règles d'autorisation, limiter les autorisations d'utilisateur et de rôle correspondantes et améliorer l'évolutivité et la contrôlabilité de l'application.
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!