Heim Web-Frontend js-Tutorial Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

Jan 03, 2018 am 11:03 AM
localstorage token 客户端

In diesem Artikel wird hauptsächlich die Methode zum Generieren von Token durch Vue und zum Speichern im lokalen Speicher des Kunden vorgestellt. Jetzt werde ich sie mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Wir haben bereits erfahren, dass wir durch localStorage Daten auf dem Client (Browser) speichern können.

Unser Backend hat eine solche Schnittstelle:

http://localhost/yiiserver/web/index.php/token?client_appid=aaa&client_appkey=bbb

Eigentlich nur Clients (verstanden als Benutzertabelle) generieren ein Token

Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

Hier ist das client_appid Äquivalent zum Benutzernamen , client_appkey entspricht dem Passwort.

Auf diese Weise wird nach der Backend-Authentifizierung ein access-token generiert. Dieses access-token müssen wir auf dem Client speichern.

Hinweis: Unser Front-End wird normalerweise auf einem anderen Server bereitgestellt und wird domänenübergreifend sein. Das Back-End muss domänenübergreifende Probleme bewältigen. Sie können den folgenden Code in PHP schreiben:


//指定允许其他域名访问
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET,POST");
header('Access-Control-Allow-Headers: X-Requested-With,content-type,if-modified-since');
Nach dem Login kopieren

Front-End-Routinen

Beachten Sie, dass ich es definitiv in VueX verwenden werde, da unser Projekt bereits Store verwendet hat (das Konzept in vuex ), um ein module zu erstellen.

Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

Wir haben ein neues UsersModule.js erstellt, um das Benutzer-Login-Geschäft abzuwickeln. Vergessen Sie nicht, es in die Eintragsdatei einzuführen users-index.js. Benötigt unser „Member Backstage“ auch nutzerbezogene Daten, müssen diese ebenfalls eingebracht werden.

Ändern in users-index.js


//引入模块
import ResModule from './../Store/modules/ResModules';
import UsersModule from "./../Store/modules/UsersModule";
const vuex_config = new Vuex.Store({
 modules: {
  res:ResModule,
  users:UsersModule
 }
});
Nach dem Login kopieren
1. UsersModule.js


import Vue from "vue";

export default {
 state:{
  currentUser:{
   get UserName(){
    return localStorage.getItem("currentUser_name");
   },
   get UserToken(){
    return localStorage.getItem("currentUser_token");
   }
  }
 },
 mutations:{
  setUser(state,{user_name,user_token}){
   // 在这里把用户名和token保存起来
   localStorage.setItem("currentUser_name",user_name);
   localStorage.setItem("currentUser_token",user_token);
  }
 },
 actions:{
  userLogin(context,{user_name,user_pass}){
   // 发送get请求做权限认证(真实开发建议用post的方式)
   let url = "http://localhost/yiiserver/web/index.php/token?client_appid="+user_name+"&client_appkey="+user_pass;
   console.log(url);

   Vue.http.get(url)
    .then((res)=>{
     if (res!=null && res.body!=undefined && "access-token" in res.body){
      var token = res.body["access-token"];
      if (token != ""){
       // 后端API验证通过
       // 调用上面mutations里定义的方法
       context.commit("setUser",{"user_name":user_name,"user_token":token});
      }
     }else{
      alert("用户名密码错误");
     }
    },(res)=>{
     alert("请求失败进入这里")
    });
  }
 }
}
Nach dem Login kopieren
Aktionen-Abschnitt: Wir haben eine

-Methode geschrieben, um eine http-Anfrage an den Back-End-Server zu senden. Die von der Anfrage erfolgreich zurückgegebenen Daten rufen die im Mutationsabschnitt definierte userLogin()-Methode auf und speichern sie der Kunde. setUser()

Hinweis: Die

-Methode in Aktionen dient zum Aufrufen auf der Benutzeranmeldeseite, also in „userslogin.vue“. userLogin()

Kommen Sie also zu

und ändern Sie den folgenden Code: userlogin.vue

Testen wir, ob er erfolgreich auf dem Client gespeichert wurde

: localStorage


  methods:{
   login(){

    // 这个验证是element-ui框架提供的方法
    this.$refs["users"].validate(function (flag) {
     if(flag){
      /*localStorage.setItem("currentUser",this.UserModel.user_name);
      alert("用户登录成功");*/

      this.$store.dispatch("userLogin",{"user_name":this.UserModel.user_name,"user_pass":this.UserModel.user_pass})
     }else{
      alert("用户名密码必填");
     }
    }.bind(this));
   }
  }
Nach dem Login kopieren

Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

2. Wenn unser Mitglieder-Backend


http://localhost:8080/member


muss außerdem die Anmeldeinformationen des Benutzers abrufen, z. B. den Benutzernamen. zur Anzeige in der Navigationsleiste.

Zuerst sollte es in der Eintragsdatei

des Mitglieder-Backend-Moduls stehen: member-index.js


//引入Module
import ResModule from './../Store/modules/ResModules';
import UsersMoule from "./../Store/modules/UsersModule";
const vuex_config = new Vuex.Store({
 modules: {
  res:ResModule,
  users:UsersMoule
 }
});
Nach dem Login kopieren
Dann können wir z.B , die Navigationsleistenkomponente navbar In .vue:


<a href="##" rel="external nofollow" >{{this.$store.state.users.currentUser.UserName}}</a>
Nach dem Login kopieren
Auf diese Weise greifen Sie auf die Eigenschaften in Benutzern zu.


Vue generiert ein Token und speichert es in der localStorage-Instanz des Clients.

Verwandte Empfehlungen:


Vue springt nach Ablauf des Tokens zur Anmeldeseite

Vue-Ressourcen-Interceptor ermittelt den Token-Ungültigkeitssprung

So überprüfen Sie Token, antworten auf Inhalte und senden Nachrichten auf dem offiziellen PHP-WeChat-Konto

Das obige ist der detaillierte Inhalt vonVue generiert ein Token und speichert es in der localStorage-Instanz des Clients.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

VMware Horizon Client kann nicht geöffnet werden [Fix] VMware Horizon Client kann nicht geöffnet werden [Fix] Feb 19, 2024 pm 11:21 PM

Mit VMware Horizon Client können Sie bequem auf virtuelle Desktops zugreifen. Manchmal kann es jedoch bei der virtuellen Desktop-Infrastruktur zu Startproblemen kommen. In diesem Artikel werden die Lösungen erläutert, die Sie ergreifen können, wenn der VMware Horizon-Client nicht erfolgreich gestartet werden kann. Warum wird mein VMware Horizon-Client nicht geöffnet? Wenn beim Konfigurieren von VDI der VMWareHorizon-Client nicht geöffnet ist, kann ein Fehler auftreten. Bitte bestätigen Sie, dass Ihr IT-Administrator die richtige URL und die richtigen Anmeldeinformationen angegeben hat. Wenn alles in Ordnung ist, befolgen Sie die in dieser Anleitung aufgeführten Lösungen, um das Problem zu beheben. Beheben Sie, dass sich der VMWareHorizon-Client nicht öffnet, wenn VMW auf Ihrem Windows-Computer nicht geöffnet wird

Der VMware Horizon-Client friert beim Herstellen einer Verbindung ein oder bleibt stehen [Fix] Der VMware Horizon-Client friert beim Herstellen einer Verbindung ein oder bleibt stehen [Fix] Mar 03, 2024 am 09:37 AM

Wenn wir über den VMWareHorizon-Client eine Verbindung zu einem VDI herstellen, kann es vorkommen, dass die Anwendung während des Authentifizierungsprozesses einfriert oder die Verbindung blockiert wird. In diesem Artikel wird dieses Problem untersucht und Möglichkeiten zur Lösung dieser Situation aufgezeigt. Wenn der VMWareHorizon-Client einfriert oder Verbindungsprobleme auftreten, können Sie einige Maßnahmen ergreifen, um das Problem zu beheben. Beheben Sie, dass der VMWareHorizon-Client beim Herstellen einer Verbindung einfriert oder hängen bleibt. Wenn der VMWareHorizon-Client unter Windows 11/10 einfriert oder keine Verbindung herstellen kann, führen Sie die unten aufgeführten Lösungen aus: Überprüfen Sie die Netzwerkverbindung. Starten Sie den Horizon-Client neu. Überprüfen Sie den Status des Horizon-Servers. Löschen Sie den Client-Cache. Beheben Sie Ho

Was tun, wenn das Login-Token ungültig ist? Was tun, wenn das Login-Token ungültig ist? Sep 14, 2023 am 11:33 AM

Zu den Lösungen für ungültige Login-Tokens gehören die Überprüfung, ob das Token abgelaufen ist, die Überprüfung, ob das Token korrekt ist, die Überprüfung, ob das Token manipuliert wurde, die Überprüfung, ob das Token mit dem Benutzer übereinstimmt, das Löschen des Caches oder der Cookies sowie die Überprüfung der Netzwerkverbindung und des Serverstatus , sich erneut anmelden oder ein neues Token anfordern usw. Detaillierte Einführung: 1. Überprüfen Sie, ob das Token abgelaufen ist. Sobald die Gültigkeitsdauer überschritten ist, wird das Anmelde-Token als ungültig betrachtet.

So lösen Sie das Problem eines ungültigen Anmeldetokens So lösen Sie das Problem eines ungültigen Anmeldetokens Sep 14, 2023 am 10:57 AM

Das Problem eines ungültigen Anmeldetokens kann gelöst werden, indem die Netzwerkverbindung überprüft, die Gültigkeitsdauer des Tokens überprüft, Cache und Cookies geleert, der Anmeldestatus überprüft, der Anwendungsentwickler kontaktiert und die Kontosicherheit erhöht wird. Detaillierte Einführung: 1. Überprüfen Sie die Netzwerkverbindung, stellen Sie die Verbindung zum Netzwerk wieder her oder ändern Sie die Netzwerkumgebung. 2. Überprüfen Sie die Gültigkeitsdauer des Tokens, besorgen Sie sich ein neues Token oder wenden Sie sich an den Entwickler der Anwendung. 3. Löschen Sie den Cache und die Cookies, löschen Sie den Browser Cache und Cookie und melden Sie sich dann erneut bei der Anwendung an. 4. Überprüfen Sie den Anmeldestatus.

Warum kann localstorage Daten nicht erfolgreich speichern? Warum kann localstorage Daten nicht erfolgreich speichern? Jan 03, 2024 pm 01:41 PM

Warum schlägt das Speichern von Daten im lokalen Speicher immer fehl? Benötigen Sie spezifische Codebeispiele? In der Front-End-Entwicklung müssen wir häufig Daten auf der Browserseite speichern, um die Benutzererfahrung zu verbessern und den späteren Datenzugriff zu erleichtern. Localstorage ist eine von HTML5 bereitgestellte Technologie zur clientseitigen Datenspeicherung. Sie bietet eine einfache Möglichkeit, Daten zu speichern und die Datenpersistenz aufrechtzuerhalten, nachdem die Seite aktualisiert oder geschlossen wurde. Wenn wir jedoch manchmal localstorage zur Datenspeicherung verwenden

PHP MQTT-Client-Entwicklungshandbuch PHP MQTT-Client-Entwicklungshandbuch Mar 27, 2024 am 09:21 AM

MQTT (MessageQueuingTelemetryTransport) ist ein leichtes Nachrichtenübertragungsprotokoll, das häufig für die Kommunikation zwischen IoT-Geräten verwendet wird. PHP ist eine häufig verwendete serverseitige Programmiersprache, die zur Entwicklung von MQTT-Clients verwendet werden kann. In diesem Artikel wird die Verwendung von PHP zum Entwickeln eines MQTT-Clients vorgestellt und der folgende Inhalt umfasst: Grundkonzepte des MQTT-Protokolls Auswahl und Verwendungsbeispiele der PHPMQTT-Clientbibliothek: Verwendung des PHPMQTT-Clients zum Veröffentlichen und

So legen Sie die Ablaufzeit von Localstorage-Elementen fest So legen Sie die Ablaufzeit von Localstorage-Elementen fest Jan 11, 2024 am 09:06 AM

Für das Festlegen der Ablaufzeit des lokalen Speichers sind bestimmte Codebeispiele erforderlich. Aufgrund der schnellen Entwicklung des Internets müssen bei der Front-End-Entwicklung häufig Daten im Browser gespeichert werden. Localstorage ist eine häufig verwendete WebAPI, die eine Möglichkeit bieten soll, Daten lokal im Browser zu speichern. Localstorage bietet jedoch keine direkte Möglichkeit, die Ablaufzeit festzulegen. In diesem Artikel wird anhand von Codebeispielen erläutert, wie die Ablaufzeit von Localstorage festgelegt wird.

So lösen Sie das Problem der Speicherung von Benutzertokens in Redis So lösen Sie das Problem der Speicherung von Benutzertokens in Redis May 31, 2023 am 08:06 AM

Redis speichert Benutzertokens. Beim Entwerfen eines E-Commerce-Systems besteht eine häufige Anforderung darin, dass jede Seite angemeldete Benutzerinformationen enthalten muss. Es gibt zwei gängige Lösungen: die Verwendung von Cookies zum Speichern und die Verwendung von JWT zum Speichern. Wenn jedoch Redis-Cache im System verwendet wird, gibt es auch eine dritte Lösung – das Zwischenspeichern des Benutzertokens in Redis. Generieren Sie beim Anmelden ein Token und speichern Sie es in Redis //Generieren Sie ein Token-Objekt und speichern Sie es in Redis redisTemplate.opsForHash().put("token","user",user)

See all articles