Yii2: Warum ist der Authentifizierungsschlüssel in der Klasse User?

Lesezeit: 2 Minuten

Benutzer-Avatar
Ejaz Karim

Wie der Titel verdeutlicht, warum wird der Authentifizierungsschlüssel in Yii2 eingeführt? Was sind die Hauptverwendungen und wie nützlich ist es bei der Authentifizierung?

Die Hauptverwendung besteht darin, den Benutzer per Cookie zu authentifizieren. Wenn Sie sich dafür entscheiden, beim Login in Erinnerung zu bleiben, werden Sie auf diese Weise an Sie erinnert. Das System muss Sie irgendwie identifizieren und anmelden. Es kann entweder Ihren Benutzernamen und Ihr Passwort in einem Cookie speichern (das wäre unsicher) oder sich auf andere Weise an Sie erinnern. Dies ist eines der Mittel. Nachdem Sie sich bei Ihrer Yii-Anwendung angemeldet haben, sehen Sie sich das _identity-Cookie an, das es erstellt. Sie werden sehen, dass der auth_key Teil des Cookies ist.

Das Cookie merkt sich tatsächlich die $id, den $authKey und die $duration, eine id\auth_key-Kombination ist sicherer zu merken als eine aus Benutzername/Passwort.

  • Warum nicht die standardmäßige PHPSESSID und Sitzung zum Erinnern verwenden? Ich meine, Sie könnten das Sitzungs-Timeout auf eine Woche oder einen Monat festlegen.

    – Benutzer1561346

    30. Januar 2015 um 15:13 Uhr


  • Recherchieren Sie, wie Sie das Sitzungs-Timeout ändern, Sie werden die Probleme damit sehen.

    – Mihai P.

    30. Januar 2015 um 23:12 Uhr

  • Können wir den Authentifizierungsschlüssel für die Client-Authentifizierung in einer sitzungslosen App verwenden

    – Robert Limanto

    24. März 2017 um 5:52 Uhr

  • Kannst du wahrscheinlich ja. aber das bedeutet, dass Sie diese Informationen benötigen, um den Benutzer zu authentifizieren. Ich habe eine REST-API (also sitzungslos) erstellt und ein JWT verwendet, um ein Token zu erstellen, dem der Server vertrauen kann. Der Server erstellt das JWT, übergibt es an den Client, der Client verwendet es für alle Anfragen, sodass der Server den darin enthaltenen Informationen vertraut, da er sie codiert hat.

    – Mihai P.

    26. März 2017 um 23:26 Uhr

Wie bereits erläutert, müssen Sie nur implementieren getAuthKey() und validateAuthKey() wenn Ihre Anwendung die Cookie-basierte Anmeldefunktion verwendet. In diesem Fall können Sie den folgenden Code verwenden, um eine zu generieren auth Schlüssel für jeden Benutzer und speichern Sie ihn in der Benutzertabelle:

Weitere Details finden Sie in der offiziellen Dokumentation:
https://www.yiiframework.com/doc/guide/2.0/en/security-authentication

1186530cookie-checkYii2: Warum ist der Authentifizierungsschlüssel in der Klasse User?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy