


Comment ajouter une nouvelle vérification d'utilisateur dans yii
Cet article est une analyse détaillée et une introduction à la méthode d'ajout d'une nouvelle vérification d'utilisateur dans yii. Les amis qui en ont besoin peuvent s'y référer
1. ajouter un nouvel utilisateur ? Vérification :
Parce que je souhaite créer le backend et le frontend du site Web dans la même application yii. Mais le frontend contient également le centre de gestion des membres. , donc deux pages de connexion différentes sont requises et les informations utilisateur doivent être stockées dans différents cookies ou sessions. Par conséquent, une vérification utilisateur doit être ajoutée à une application
2. 🎜>
Avant de personnaliser la vérification des utilisateurs, nous devons d'abord comprendre les méthodes de vérification et d'autorisation de yii.Afin de vérifier un utilisateur, nous devons définir une classe de vérification avec une logique de vérification. Pour être implémenté dans l'interface yii IUserIdentity, différentes classes peuvent implémenter différentes méthodes de vérification. La connexion au site Web nécessite généralement de vérifier le nom d'utilisateur et le mot de passe. Yii fournit la classe CUserIdentity, qui est généralement utilisée pour vérifier les noms d'utilisateur et les mots de passe. pour le réécrire méthode Authenticate() pour implémenter notre propre méthode de vérification
Le code spécifique est le suivant :
Code Php
class UserIdentity extends CUserIdentity { private $_id; public function authenticate() { $record=User::model()->findByAttributes(array('username'=>$this->username)); if($record===null) $this->errorCode=self::ERROR_USERNAME_INVALID; else if($record->password!==md5($this->password)) $this->errorCode=self::ERROR_PASSWORD_INVALID; else { $this->_id=$record->id; $this->setState('title', $record->title); $this->errorCode=self::ERROR_NONE; } return !$this->errorCode; } public function getId() { return $this->_id; } }
Le code suivant est appelé lorsque. l'utilisateur se connecte :
// 使用提供的用户名和密码登录用户 $identity=new UserIdentity($username,$password); if($identity->authenticate()) Yii::app()->user->login($identity); else echo $identity->errorMessage;
Lorsque l'utilisateur quitte, le code suivant est appelé :
Code Php
// 注销当前用户 Yii::app()->user->logout(); 其中的user是yii的一个components.需要在protected/config/main.php中定义
'user'=>array( // enable cookie-based authentication 'allowAutoLogin'=>true, 'loginUrl' => array('site/login'), ),
Nous avons maintenant implémenté la vérification et la sortie de la connexion des utilisateurs. Mais les utilisateurs peuvent désormais accéder à toutes les actions, qu'ils soient ou non connectés. L'étape suivante consiste donc à autoriser l'accès des utilisateurs. Dans Yii, l'autorisation des utilisateurs est implémentée via le filtre de contrôle d'accès, c'est-à-dire. , filtre de contrôle d'accès. Jetons un coup d'œil à un contrôleur simple avec contrôle d'accès :
Code Php
class AdminDefaultController extends CController { public function filters() { return array('accessControl'); } public function accessRules() { return array( array( 'allow', 'users' => array('@'), ), array( 'deny', 'users' => array('*') ), ); } }
Il existe une méthode filterAccessControl dans la classe CController :
Code Php
public function filterAccessControl($filterChain) { $filter=new CAccessControlFilter; $filter->setRules($this->accessRules()); $filter->filter($filterChain); }
$filter->filter($filterChain) continue d'appeler d'autres filtres.
Et toutes les règles d'autorisation spécifiques sont définies dans accessRules :
Code Php
public function accessRules() { return array( array('deny', 'actions'=>array('create', 'edit'), 'users'=>array('?'), ), array('allow', 'actions'=>array('delete'), 'roles'=>array('admin'), ), array('deny', 'actions'=>array('delete'), 'users'=>array('*'), ), ); }
Pour les règles spécifiques, veuillez vous référer au manuel yii
Ajouter un nouveau système de vérification :<🎜. >Nous héritons d'abord d'un CAdminUser de CWebUser :
Code PHP
class CAdminWebUser extends CWebUser { public $loginUrl = array('admin/admin/login'); }
S'il s'agit d'une application globale, passez la section des composants de protected/config/main.php :
Code Php
'user'=>array( // enable cookie-based authentication 'class' => 'CAdminUser', 'allowAutoLogin'=>true, 'loginUrl' => array('site/login'), ),
Code Php
$this->setComponents(array( 'adminUser' => array( 'class' => 'CAdminWebUser', 'allowAutoLogin' => false, ) ));
Code Php
//全局应用 Yii::app()->getComponent('adminUser'); //在模块中 Yii::app()->controller->module->getComponent('adminUser');
La première étape consiste à personnaliser un filtre :
Code PHP
<. 🎜>
class CAdminAccessControlFilter extends CAccessControlFilter { protected function preFilter($filterChain) { $app=Yii::app(); $request=$app->getRequest(); $user = Yii::app()->controller->module->getComponent('adminUser'); $verb=$request->getRequestType(); $ip=$request->getUserHostAddress(); foreach($this->getRules() as $rule) { if(($allow=$rule->isUserAllowed($user,$filterChain->controller,$filterChain->action,$ip,$verb))>0) // allowed break; else if($allow<0) // denied { $this->accessDenied($user); return false; } } return true; } }
Code Php
OK, ici on peut préciser l'autorisation de adminUser dans le accessRules() de ce Controller
public function filterAccessControl($filterChain) { $filter = new CAdminAccessControlFilter(); $filter->setRules($this->accessRules()); $filter->filter($filterChain); } //在这里我们使用自定义的filter类替换了原来的filter
Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde. Apprendre est utile Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
À propos de l'implémentation de la fonction de connexion dans le framework Yii de PHP
Comment modifier yii2 .0 utilisateurs La table utilisateur utilisée pour la connexion est constituée d'autres tables
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

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Avec le développement continu de la technologie du cloud computing, la sauvegarde des données est devenue quelque chose que chaque entreprise doit faire. Dans ce contexte, il est particulièrement important de développer un système de sauvegarde cloud hautement disponible. Le framework PHP Yii est un framework puissant qui peut aider les développeurs à créer rapidement des applications Web hautes performances. Ce qui suit explique comment utiliser le framework Yii pour développer un système de sauvegarde cloud hautement disponible. Conception du modèle de base de données Dans le framework Yii, le modèle de base de données est une partie très importante. Parce que le système de sauvegarde des données nécessite beaucoup de tables et de relations

Alors que la demande d'applications Web continue de croître, les développeurs ont de plus en plus de choix dans le choix des frameworks de développement. Symfony et Yii2 sont deux frameworks PHP populaires. Ils ont tous deux des fonctions et des performances puissantes, mais face à la nécessité de développer des applications Web à grande échelle, quel framework est le plus adapté ? Nous procéderons ensuite à une analyse comparative de Symphony et Yii2 pour vous aider à faire un meilleur choix. Présentation de base Symphony est un framework d'application Web open source écrit en PHP et basé sur

Le framework Yii est un framework d'application Web PHP open source qui fournit de nombreux outils et composants pour simplifier le processus de développement d'applications Web, dont la requête de données est l'un des composants importants. Dans le framework Yii, nous pouvons utiliser une syntaxe de type SQL pour accéder à la base de données afin d'interroger et de manipuler les données efficacement. Le générateur de requêtes du framework Yii comprend principalement les types suivants : requête ActiveRecord, requête QueryBuilder, requête de commande et requête SQL originale.

À mesure qu’Internet continue de se développer, la demande de développement d’applications Web augmente également. Pour les développeurs, le développement d'applications nécessite un cadre stable, efficace et puissant, qui peut améliorer l'efficacité du développement. Yii est un framework PHP hautes performances de premier plan qui offre des fonctionnalités riches et de bonnes performances. Yii3 est la version nouvelle génération du framework Yii, qui optimise davantage les performances et la qualité du code basé sur Yii2. Dans cet article, nous présenterons comment utiliser le framework Yii3 pour développer des applications PHP.

Dans le système win11, nous devons nous connecter à chaque fois que nous entrons dans le système. Cependant, s'il n'y a qu'un seul compte dans notre système ou s'il n'est pas nécessaire de protéger le compte, nous n'avons pas besoin de nous connecter à chaque fois. le temps, nous pouvons annuler le compte de connexion en annulant le mot de passe, examinons les méthodes spécifiques ci-dessous. Comment annuler le compte de connexion dans win11 1. Tout d'abord, cliquez sur le bouton fléché au centre de la barre des tâches et sélectionnez rapidement l'option "Démarrer". 2. Ensuite, entrez dans l'interface des paramètres système et cliquez rapidement sur l'option "Exécuter" pour démarrer. 3. Ensuite, entrez la commande : controluserpasswords2 et appuyez sur la touche Entrée. 4. Cliquez pour ouvrir l'option « Propriétés du compte utilisateur » et décochez « Pour utiliser cette machine, les utilisateurs doivent entrer

À l’ère actuelle de l’information, le big data, l’intelligence artificielle, le cloud computing et d’autres technologies sont devenus au centre des préoccupations des grandes entreprises. Parmi ces technologies, la technologie de rendu des cartes graphiques, en tant que technologie de traitement graphique haute performance, fait l'objet de plus en plus d'attention. La technologie de rendu des cartes graphiques est largement utilisée dans le développement de jeux, les effets spéciaux de films et de télévision, la modélisation technique et d'autres domaines. Pour les développeurs, choisir un framework adapté à leurs projets est une décision très importante. Parmi les langages actuels, PHP est un langage très dynamique. Quelques excellents frameworks PHP comme Yii2, Ph.

Si nous voulons définir la confidentialité de notre ordinateur, nous pouvons définir un mot de passe de mise sous tension pour l'ordinateur, et c'est très pratique. Il suffit de le faire dans les paramètres. Comment définir un mot de passe de mise sous tension dans Win11 : 1. Tout d'abord, cliquez avec le bouton droit sur le menu "Démarrer" et cliquez sur Paramètres. 2. Cliquez ensuite sur « Compte ». 3. Cliquez ensuite sur « Options de connexion ». 4. Recherchez ensuite « Mot de passe » et cliquez sur Ajouter. 5. Enfin, il peut être ajouté avec succès.

Comment effectuer la validation des entrées utilisateur et le filtrage de sécurité en PHP ? Lors du développement d'applications Web, la validation des entrées utilisateur et le filtrage de sécurité sont des aspects très importants. Si les entrées de l'utilisateur ne sont pas gérées correctement, cela peut entraîner diverses vulnérabilités de sécurité, telles que les attaques par script intersite (XSS) et par injection SQL. Par conséquent, la validation et le filtrage de sécurité des entrées des utilisateurs sont l’une des mesures importantes pour protéger les applications Web. Cet article explique comment effectuer la validation des entrées utilisateur et le filtrage de sécurité en PHP. Validation du type de données Avant de recevoir l'entrée de l'utilisateur, il doit d'abord être validé
