Als beliebtes PHP-Entwicklungsframework stellt das Yii-Framework hohe Anforderungen an die Sicherheitsleistung von Webanwendungen. Unter diesen sind Identitätsauthentifizierungs- und Autorisierungsmechanismen eine der Schlüsseltechnologien, um die grundlegenden Sicherheitsanforderungen von Anwendungen zu erfüllen. Dieser Artikel konzentriert sich auf den Identitätsauthentifizierungs- und Autorisierungsmechanismus im Yii-Framework und soll den Lesern helfen, das Framework besser zu verstehen und zu nutzen, um Anwendungssicherheit zu erreichen.
1. Was ist Identitätsauthentifizierung und -autorisierung?
Bevor wir den Identitätsauthentifizierungs- und Autorisierungsmechanismus des Yii-Frameworks einführen, müssen wir zwei Konzepte klären: Identitätsauthentifizierung und -autorisierung.
1. Identitätsauthentifizierung
Identitätsauthentifizierung bezieht sich normalerweise auf die Überprüfung, ob der Benutzer ein legitimer Benutzer ist, der im System registriert ist. Zu den gängigen Methoden zur Identitätsauthentifizierung gehören: Authentifizierung mit Benutzername und Passwort, Authentifizierung über soziale Netzwerke, Zertifikatauthentifizierung usw. Die Rolle der Identitätsauthentifizierung in Webanwendungen besteht darin, Benutzerzugriffsrechte einzuschränken und vertrauliche Informationen vor illegalen Vorgängen und Diebstahl zu schützen.
2. Autorisierung
Ähnlich wie bei der Identitätsauthentifizierung dient die Autorisierung dazu, zu überprüfen, ob der Benutzer die Berechtigung hat, auf eine bestimmte Ressource zuzugreifen. In Webanwendungen sorgt die Autorisierung für Sicherheit, indem sie Benutzern auf explizite Weise spezifische Berechtigungen gewährt. Zu den gängigen Autorisierungsmethoden gehören: Rollenbasierte Zugriffskontrolle (RBAC), Zugriffstoken, OAuth usw.
2. Identitätsauthentifizierung im Yii-Framework
1. So implementieren Sie die Identitätsauthentifizierung
Das Yii-Framework unterstützt mehrere Implementierungsmethoden für die Identitätsauthentifizierung. Dazu gehören:
2. Konfiguration und Implementierung der Identitätsauthentifizierung
(1) Identitätsauthentifizierung konfigurieren
Im Yii-Framework wird die Konfiguration der Identitätsauthentifizierung über die Anwendungskonfigurationsdatei abgeschlossen. Wenn wir beispielsweise die Datei config/main.php öffnen, sehen wir den folgenden Code:
‘components‘ => [
'user' => [ ‘identityClass’ => ‘appmodelsUser’,//认证模型 ‘enableAutoLogin’ => true,//启用自动登录 ],
],
Ändern Sie die Komponente „Benutzer“ in der Datei, um die Identitätsauthentifizierung zu konfigurieren.
(2) Identitätsauthentifizierung implementieren
Zusätzlich zum Festlegen relevanter Parameter in der Konfigurationsdatei müssen wir auch die Identitätsauthentifizierung im Programm implementieren. Im Yii-Framework wird die Identitätsauthentifizierung im Allgemeinen durch einen Authentifikator durchgeführt. Der Code für die Authentifizierung per Benutzername und Passwort lautet beispielsweise wie folgt:
$identity = new UserIdentity('username', 'password');
if ($identity->authenticate()) {
Yii::$app->user->login($identity); //认证成功,用户数据保存到session中
}
三, Autorisierungsmechanismus im Yii-Framework
Die Rollenauthentifizierung im Yii-Framework wird durch RBAC (rollenbasierte Zugriffskontrolle) implementiert. Im Yii-Framework können wir alle Klassen unter yiibac verwenden, um das RBAC-System aufzubauen.
Zuerst müssen Sie Schnittstellen wie yiibacRole, yiibacPermission und yiibacRule implementieren und entsprechende Regeln zum Festlegen von Berechtigungen bereitstellen. Definieren Sie dann die Betriebsberechtigungen entsprechend den verschiedenen Rollen, wie im folgenden Code gezeigt:
$auth = Yii::$app->authManager;
$createPost = $auth->createPermission('createPost');
$ createPost->description = 'Einen Beitrag erstellen';
$auth->add($createPost);
$author = $auth->createRole('author');
$auth->add( $ author);
$auth->addChild($author, $createPost);
Im obigen Code haben wir eine Berechtigung namens „createPost“ und eine Rolle namens „author“ erstellt, was bedeutet, dass die Rolle Erstellen kann Artikel.
2. Zugriffskontrolle
Wenn Sie die Zugriffskontrolle im Yii-Framework verwenden, müssen Sie den yii iltersAccessControl-Filter im Controller verwenden, um ihn zu implementieren, wie unten gezeigt:
public function behaviours()
{
return [ 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'actions' => ['signup'], 'allow' => true, 'roles' => ['?'], ], [ 'actions' => ['index', 'view'], 'allow' => true, 'roles' => ['@'], ], ], ], ];
}
oben Im Code haben wir zwei Regeln zur Steuerung der Zugriffsberechtigungen eingerichtet. Die erste Regel ermöglicht nicht authentifizierten Benutzern den Zugriff auf den „Anmelde“-Vorgang, und die zweite Regel erfordert, dass Benutzer authentifiziert werden, bevor sie auf die „Index“- und „Anzeige“-Vorgänge zugreifen können.
4. Zusammenfassung
In diesem Artikel wird der Identitätsauthentifizierungs- und Autorisierungsmechanismus im Yii-Framework vorgestellt. Bei der Entwicklung von Webanwendungen ist die Gewährleistung der Sicherheit des Programms ein sehr wichtiger Teil. Daher ist der Einsatz von Identitätsauthentifizierungs- und Autorisierungstechnologie sehr wichtig. Der Identitätsauthentifizierungs- und Autorisierungsmechanismus des Yii-Frameworks ist äußerst flexibel und praktisch bei der Realisierung der Sicherheit von Webanwendungen und kann die Sicherheitsanforderungen von Anwendungen besser erfüllen.
Das obige ist der detaillierte Inhalt vonIdentitätsauthentifizierungs- und Autorisierungsmechanismus im Yii-Framework: Gewährleistung der Anwendungssicherheit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!