Ich muss Trust/Remember-Gerät implementieren, wenn Sie sich auf einer Angular.js-Website anmelden. Das heißt, ich kann wählen, dass ich auf dem Computer und dem Gerät, die ich täglich benutze, kein Passwort und keinen Benutzernamen eingeben muss, aber wenn jemand mein Passwort erhält und versucht, sich auf einem unbekannten Computer oder Gerät anzumelden, muss er das Passwort und den Benutzernamen eingeben Einloggen.So implementieren Sie das Trust/Remember-Gerät in angular.js
Antwort
Es gibt etwas namens document.cookie, das Sie in einer Fabrik verwenden könnten. Ich habe einen Beispielcode gefunden, den Sie möglicherweise verwenden können?
Erstellt ein Cookie (zum Beispiel dieses in einem Jahr ausläuft):
app.factory('$remember', function() {
return function(name, values) {
var cookie = name + '=';
cookie += values + ';';
var date = new Date();
date.setDate(date.getDate() + 365);
cookie += 'expires=' + date.toString() + ';';
document.cookie = cookie;
}
});
Diese Fabrik entfernt den Cookie:
app.factory('$forget', function() {
return function(name) {
var cookie = name + '=;';
cookie += 'expires=' + (new Date()).toString() + ';';
document.cookie = cookie;
}
});
dann, wenn ein Benutzer erfolgreich im Cache meldet den Schlüssel $ mit erinnern
$remember('my_cookie_name', response.user._id);
Und immer überprüfen, ob der Cookie dort ist, wenn sich der Benutzer sonst anmeldet Verwenden Sie eine Standardanmeldung und speichern Sie sie in ihren Cookies. Wenn die Erinnerung mich nicht aktiviert ist, vergessen Sie den Dokument.cookie
Danke für Ihre Antwort. Wenn jemand den user._jd errät und den Cookie über die Browser-Konsole setzt, kann er sich auf der Website anmelden, richtig? Wie kann man eine solche Situation verhindern? Danke – mengzhen
Vielleicht habe ich die Frage missverstanden. Haben Sie gefragt, wie Sie "remember me" festlegen können, um Ihren Benutzernamen und Ihr Passwort festlegen zu lassen, oder auth, um sich anzumelden? Normalerweise benutze ich einen JWT in einem Knoten und lasse jeden einzelnen Endpunkt (mit Ausnahme des anfänglichen Anmeldeendpunkts, der den Benutzernamen und das Passwort überprüft) eine Funktion namens "ensureAuthenticated" ausführen, bevor er getroffen wird und die Gültigkeit eines Tokens überprüft. Wenn das Token noch gültig ist, wird es next() ausgeführt und trifft den Endpunkt. Wenn das Token nicht gültig ist oder kein Token vorhanden ist, werden sie zum Anmeldebildschirm weitergeleitet. Und kein Problem! Ich hoffe, ich kann helfen, haha – joshbang
Auch wenn sie sich anmelden, entweder aktualisiert oder erstellt eine neue JWT. Meine "ensureAuthenticated" -Funktion aktualisiert auch das Token, um länger zu dauern, also wird es nicht ausgehen, während sie die Site benutzen. Und da ich diese Funktion auf jedem Endpunkt ausführe, wird das Token während der Verwendung ständig erneuert. Wenn Sie einige Beispiele meiner JWT-Funktion haben wollen, lassen Sie es mich wissen – joshbang
- 1. Implementieren Sie http Interceptor in angular.js
- 2. So implementieren Sie das Ereignis
- 3. So implementieren Sie das Vorladen in gorm
- 4. So löschen Sie Cookies in angular.js
- 5. So implementieren Sie das Kontextmenü für NSCollectionView
- 6. So implementieren Sie das Android CallLog TableLayout
- 7. So implementieren Sie über das Scrollen
- 8. So implementieren Sie Benutzerprofil mit Token-Auth
- 9. So implementieren Sie NetworkManagers?
- 10. So implementieren Sie IAsyncOperationWithProgress
- 11. So implementieren Sie IDialogService
- 12. So implementieren Sie besser
- 13. So implementieren Sie Brocken
- 14. So implementieren Sie das PaintCode-Projekt in SKScene
- 15. So implementieren Sie Drag in ein QListWidget, das Dateien enthält?
- 16. So implementieren Sie das Laden von Spinner in Xcode
- 17. So implementieren Sie eine Suchwarteschlange
- 18. So implementieren Sie Excel ACCRINT
- 19. So implementieren Sie threadsichere Warteschlangen
- 20. So implementieren Sie SAML SSO
- 21. So implementieren Sie readinto() Methode
- 22. So implementieren Sie HTTP-Tunneling
- 23. So implementieren Sie Singleton in Shell-Skript
- 24. So implementieren Sie einen OnMenuItemClickListener in Android
- 25. So implementieren Sie die Bestellungsanalyse in MATLAB
- 26. So implementieren Sie eine Bearbeitungsgenehmigungswarteschlange in Django
- 27. So implementieren Sie einAktivitätsresultat in nativer Aktivität
- 28. So implementieren Sie if-else
- 29. So implementieren Sie benutzerdefinierte Spinner
- 30. So implementieren Sie einen Grapher in C#
Dies ist eine experimentelle Technologie, aber folgen Sie dem Konzept, dass Ihr Kommentar: https://developer.mozilla.org/en-US/docs/Web/API/ Credential_Management_API –