So fügen Sie eine neue Benutzerüberprüfung in yii hinzu
Dieser Artikel ist eine detaillierte Analyse und Einführung in die Methode zum Hinzufügen einer neuen Benutzerüberprüfung in yii. Freunde, die sie benötigen, können darauf verweisen
1 Warum müssen Sie das tun? Einen neuen Benutzer hinzufügen? Verifizierung:
Weil ich das Website-Backend und das Frontend in derselben yii-Anwendung erstellen möchte. Und diese beiden Benutzerverifizierungen sind völlig unterschiedlich , daher sind zwei verschiedene Anmeldeseiten erforderlich und Benutzerinformationen müssen in verschiedenen Cookies oder Sitzungen gespeichert werden. Daher muss einer Anwendung eine Benutzerüberprüfung hinzugefügt werden
2 🎜>
Bevor wir die Benutzerüberprüfung anpassen, müssen wir zunächst die Überprüfungs- und Autorisierungsmethoden von yii herausfinden.Um einen Benutzer zu überprüfen, müssen wir eine Überprüfungsklasse mit Überprüfungslogik definieren Zur Implementierung in der IUserIdentity-Schnittstelle können verschiedene Klassen unterschiedliche Überprüfungsmethoden implementieren. Für die Website-Anmeldung ist im Allgemeinen die CUserIdentity-Klasse erforderlich, die im Allgemeinen zur Überprüfung von Benutzernamen und Passwörtern verwendet wird Es ist die Methode „authenticate()“, um unsere eigene
-Überprüfungsmethode zu implementieren. Der spezifische Code lautet wie folgt:
PHP-Code
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; } }
Wenn sich der Benutzer anmeldet, lautet der folgende Code aufgerufen:
// 使用提供的用户名和密码登录用户 $identity=new UserIdentity($username,$password); if($identity->authenticate()) Yii::app()->user->login($identity); else echo $identity->errorMessage;
Wenn der Benutzer das Programm verlässt, wird der folgende Code aufgerufen:
PHP-Code
// 注销当前用户 Yii::app()->user->logout(); 其中的user是yii的一个components.需要在protected/config/main.php中定义
'user'=>array( // enable cookie-based authentication 'allowAutoLogin'=>true, 'loginUrl' => array('site/login'), ),
Wir haben jetzt die Überprüfung der Benutzeranmeldung implementiert Unabhängig davon, ob der Benutzer angemeldet ist oder nicht, kann auf alle Aktionen zugegriffen werden. Der nächste Schritt besteht darin, den Benutzerzugriff über den Zugriffskontrollfilter zu autorisieren ein einfacher Controller mit Zugriffskontrolle:
PHP-Code
class AdminDefaultController extends CController { public function filters() { return array('accessControl'); } public function accessRules() { return array( array( 'allow', 'users' => array('@'), ), array( 'deny', 'users' => array('*') ), ); } }
PHP-Codepublic function filterAccessControl($filterChain)
{
$filter=new CAccessControlFilter;
$filter->setRules($this->accessRules());
$filter->filter($filterChain);
}
Und alle spezifischen Autorisierungsregeln sind in accessRules definiert:
Php-Codepublic 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('*'),
),
);
}
3. Fügen Sie ein neues Verifizierungssystem hinzu:Zuerst erben wir einen CAdminUser von CWebUser:
Php-Code class CAdminWebUser extends CWebUser
{
public $loginUrl = array('admin/admin/login');
}
Wenn es sich um eine globale Anwendung handelt, übergeben Sie den Komponentenabschnitt von protected/config/main.php:
PHP-Code'user'=>array(
// enable cookie-based authentication
'class' => 'CAdminUser',
'allowAutoLogin'=>true,
'loginUrl' => array('site/login'),
),
PHP-Code$this->setComponents(array(
'adminUser' => array(
'class' => 'CAdminWebUser',
'allowAutoLogin' => false,
)
));
PHP-Code//全局应用
Yii::app()->getComponent('adminUser');
//在模块中
Yii::app()->controller->module->getComponent('adminUser');
Der erste Schritt besteht darin, einen Filter anzupassen:
PHP-Code 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;
}
}
PHP-Code < neu zu schreiben 🎜>public function filterAccessControl($filterChain)
{
$filter = new CAdminAccessControlFilter();
$filter->setRules($this->accessRules());
$filter->filter($filterChain);
}
//在这里我们使用自定义的filter类替换了原来的filter
OK, hier können wir in den accessRules() dieses Controllers angeben, dass der Administrator berechtigt ist
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für alle hilfreich sein Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!
Über die Implementierung der Anmeldefunktion im Yii-Framework von PHP
So ändern Sie yii2 .0 Benutzer Die für die Anmeldung verwendete Benutzertabelle besteht aus anderen Tabellen
Das obige ist der detaillierte Inhalt vonSo fügen Sie eine neue Benutzerüberprüfung in yii hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Im aktuellen Informationszeitalter sind Big Data, künstliche Intelligenz, Cloud Computing und andere Technologien in den Fokus großer Unternehmen gerückt. Unter diesen Technologien hat die Grafikkarten-Rendering-Technologie als leistungsstarke Grafikverarbeitungstechnologie immer mehr Aufmerksamkeit erhalten. Die Grafikkarten-Rendering-Technologie wird häufig in der Spieleentwicklung, bei Film- und Fernsehspezialeffekten, im technischen Modellbau und in anderen Bereichen eingesetzt. Für Entwickler ist die Wahl eines Frameworks, das zu ihren Projekten passt, eine sehr wichtige Entscheidung. Unter den aktuellen Sprachen ist PHP eine sehr dynamische Sprache. Einige hervorragende PHP-Frameworks wie Yii2, Ph

Mit der kontinuierlichen Weiterentwicklung der Cloud-Computing-Technologie ist die Datensicherung zu etwas geworden, das jedes Unternehmen durchführen muss. In diesem Zusammenhang ist es besonders wichtig, ein hochverfügbares Cloud-Backup-System zu entwickeln. Das PHP-Framework Yii ist ein leistungsstarkes Framework, das Entwicklern dabei helfen kann, schnell leistungsstarke Webanwendungen zu erstellen. Im Folgenden wird vorgestellt, wie Sie mit dem Yii-Framework ein hochverfügbares Cloud-Backup-System entwickeln. Entwerfen des Datenbankmodells Im Yii-Framework ist das Datenbankmodell ein sehr wichtiger Teil. Denn das Datensicherungssystem erfordert viele Tabellen und Beziehungen

Mit der Weiterentwicklung des Internets wird auch die Nachfrage nach der Entwicklung von Webanwendungen immer größer. Für Entwickler erfordert die Entwicklung von Anwendungen ein stabiles, effizientes und leistungsstarkes Framework, das die Entwicklungseffizienz verbessern kann. Yii ist ein führendes Hochleistungs-PHP-Framework, das umfangreiche Funktionen und gute Leistung bietet. Yii3 ist die nächste Generation des Yii-Frameworks, das die Leistung und Codequalität basierend auf Yii2 weiter optimiert. In diesem Artikel stellen wir vor, wie Sie das Yii3-Framework zum Entwickeln von PHP-Anwendungen verwenden.

Das Yii-Framework ist ein Open-Source-PHP-Webanwendungsframework, das zahlreiche Tools und Komponenten zur Vereinfachung des Prozesses der Webanwendungsentwicklung bereitstellt, wobei die Datenabfrage eine der wichtigen Komponenten ist. Im Yii-Framework können wir eine SQL-ähnliche Syntax verwenden, um auf die Datenbank zuzugreifen und Daten effizient abzufragen und zu bearbeiten. Der Abfrage-Builder des Yii-Frameworks umfasst hauptsächlich die folgenden Typen: ActiveRecord-Abfrage, QueryBuilder-Abfrage, Befehlsabfrage und Original-SQL-Abfrage

Da die Nachfrage nach Webanwendungen weiter wächst, haben Entwickler bei der Auswahl von Entwicklungsframeworks immer mehr Möglichkeiten. Symfony und Yii2 sind zwei beliebte PHP-Frameworks. Sie verfügen beide über leistungsstarke Funktionen und Leistung. Welches Framework ist jedoch besser geeignet, wenn es darum geht, umfangreiche Webanwendungen zu entwickeln? Als nächstes führen wir eine vergleichende Analyse von Symphony und Yii2 durch, um Ihnen zu helfen, eine bessere Wahl zu treffen. Grundlegende Übersicht Symphony ist ein Open-Source-Webanwendungs-Framework, das in PHP geschrieben ist und darauf aufbaut

Im Win11-System müssen wir uns jedes Mal anmelden, wenn wir das System betreten. Wenn jedoch nur ein Konto in unserem System vorhanden ist oder das Konto nicht geschützt werden muss, müssen wir uns nicht jedes Mal anmelden Wenn wir das Anmeldekonto löschen, indem wir das Passwort löschen, werfen wir einen Blick auf die folgenden spezifischen Methoden. So kündigen Sie das Anmeldekonto in Win11 1. Klicken Sie zunächst auf die Pfeilschaltfläche in der Mitte der Taskleiste und wählen Sie schnell die Option „Start“. 2. Rufen Sie als Nächstes die Systemeinstellungsoberfläche auf und klicken Sie schnell auf die Option „Ausführen“, um zu starten. 3. Geben Sie als Nächstes den Befehl „controluserpasswords2“ ein und drücken Sie die Eingabetaste. 4. Klicken Sie, um die Option „Benutzerkontoeigenschaften“ zu öffnen und deaktivieren Sie „Um dieses Gerät zu verwenden, müssen Benutzer Folgendes eingeben.“

Wie führe ich eine Benutzereingabevalidierung und Sicherheitsfilterung in PHP durch? Bei der Entwicklung von Webanwendungen sind die Validierung von Benutzereingaben und die Sicherheitsfilterung sehr wichtige Aspekte. Wenn Benutzereingaben nicht korrekt verarbeitet werden, kann dies zu verschiedenen Sicherheitslücken führen, wie zum Beispiel Cross-Site-Scripting (XSS) und SQL-Injection-Angriffen. Daher ist die Validierung und Sicherheitsfilterung von Benutzereingaben eine der wichtigen Maßnahmen zum Schutz von Webanwendungen. In diesem Artikel wird erläutert, wie Sie eine Benutzereingabevalidierung und Sicherheitsfilterung in PHP durchführen. Datentypvalidierung Bevor Benutzereingaben empfangen werden, müssen diese zunächst validiert werden

Wenn wir den Datenschutz für unseren Computer festlegen möchten, können wir ein Einschaltkennwort für den Computer festlegen. Dies muss nur in den Einstellungen vorgenommen werden. So legen Sie in Win11 ein Einschaltkennwort fest: 1. Klicken Sie zunächst mit der rechten Maustaste auf das Menü „Start“ und klicken Sie auf „Einstellungen“. 2. Klicken Sie anschließend auf „Konto“. 3. Klicken Sie anschließend auf „Anmeldeoptionen“. 4. Suchen Sie dann nach „Passwort“ und klicken Sie auf „Hinzufügen“. 5. Schließlich kann es erfolgreich hinzugefügt werden.
