Heim Web-Frontend js-Tutorial So speichern Sie das Token im lokalen Speicher des Clients

So speichern Sie das Token im lokalen Speicher des Clients

Apr 17, 2018 am 09:57 AM
localstorage token 客户端

Dieses Mal zeige ich Ihnen, wie Sie den Token im lokalen Speicher des Clients speichern. Was sind die Vorsichtsmaßnahmen, wenn der Token im lokalen Speicher des Clients gespeichert wird? ein Blick.

Unser Backend hat eine solche Schnittstelle:

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

Generieren Sie einfach ein Token in Clients (verstanden als Benutzertabelle)

Dabei entspricht client_appid dem Benutzernamen und client_appkey 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 im Allgemeinen auf einem anderen Server bereitgestellt und 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, da unser Projekt bereits VueX verwendet hat, auf jeden Fall ein Store innerhalb von module erstellen werde (ein Konzept in vuex).

Wir haben ein neues UsersModule.js für die Benutzeranmeldung erstellt. Vergessen Sie nicht, es in die Eintragsdateiusers-index.js einzufügen. Benötigt unser „Member Backstage“ auch nutzerbezogene Daten, müssen diese ebenfalls eingebracht werden.

Ändern Sie 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

Aktionsteil: Wir haben eine userLogin()-Methode geschrieben, um http-Anfragen an den Backend-Server zu senden. Die von der Anfrage erfolgreich zurückgegebenen Daten werden auf dem Client gespeichert, indem die im Mutationsteil definierte setUser()-Methode aufgerufen wird.

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

Kommen Sie also zu userlogin.vue und ändern Sie den folgenden Code:

Testen wir, ob es erfolgreich im localStorage des Clients gespeichert wurde:

  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

2. Wenn unser Mitgliedschafts-Backend

http://localhost:8080/member

Es ist auch erforderlich, die Anmeldeinformationen des Benutzers zu erhalten, beispielsweise den Benutzernamen. zur Anzeige in der Navigationsleiste.

Zunächst sollte es in der Eintragsdatei member-index.js des Mitglieder-Backend-Moduls stehen:

//引入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 zum Beispiel in der Navigationsleistenkomponente navbar.vue:

<a href="##" rel="external nofollow" >{{this.$store.state.users.currentUser.UserName}}</a>
Nach dem Login kopieren

Greifen Sie auf diese Weise auf das -Attribut in Benutzern zu.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:



Das obige ist der detaillierte Inhalt vonSo speichern Sie das Token im lokalen Speicher 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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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.

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

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.

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