


Vue génère un jeton et l'enregistre dans le client Explication détaillée.
Cet article présente principalement la méthode permettant à Vue de générer un jeton et de l'enregistrer dans le localStorage du client. L'éditeur pense que c'est plutôt bon. Maintenant, je vais le partager avec vous et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.
Nous avons déjà appris que nous pouvons enregistrer des données sur le client (navigateur) via localStorage
.
Notre backend a une telle interface :
http://localhost/yiiserver/web/index.php/token?client_appid=aaa&client_appkey=bbb
En fait, juste Les clients (entendus comme une table utilisateur) génèrent un jeton
Voici le client_appid
Equivalent au nom d'utilisateur , client_appkey
équivaut à un mot de passe.
De cette façon, un access-token
sera généré après l'authentification backend. Nous devons enregistrer ce access-token
sur le client.
Remarque : notre front-end est généralement déployé sur un autre serveur et traversera les domaines. Le back-end doit gérer les problèmes inter-domaines. Vous pouvez écrire le code suivant en PHP :
//指定允许其他域名访问 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');
Routines frontales
Notez que puisque notre projet a déjà utilisé VueX
, alors j'utiliserai certainement Store
(le concept dans vuex ) pour créer un module
.
Nous avons créé un nouveau UsersModule.js
pour gérer l'activité de connexion des utilisateurs. Attention à ne pas oublier de l'introduire dans le fichier d'entrée users-index.js
. Si notre « Member Backstage » a également besoin de données relatives aux utilisateurs, elles doivent également être introduites.
Modifier dans 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 } });
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("请求失败进入这里") }); } } }
section actions : nous avons écrit une méthode userLogin()
pour envoyer une requête http au serveur back-end. Les données renvoyées avec succès par la requête appellent la méthode setUser()
définie dans la section mutations et l'enregistrent dans. le client.
Remarque : La méthode userLogin()
dans les actions permet d'appeler sur la page de connexion de l'utilisateur, c'est-à-dire dans userslogin.vue.
Alors venez sur userlogin.vue
et modifiez le code suivant :
Testons s'il est enregistré avec succès dans le localStorage
du client :
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)); } }
2. Si notre backend membre
http://localhost:8080/member
doit également obtenir les informations de connexion de l'utilisateur, telles que le nom d'utilisateur. à afficher dans la barre de navigation.
Tout d'abord, il doit être dans le fichier d'entrée member-index.js
du module backend membre :
//引入Module import ResModule from './../Store/modules/ResModules'; import UsersMoule from "./../Store/modules/UsersModule"; const vuex_config = new Vuex.Store({ modules: { res:ResModule, users:UsersMoule } });
Ensuite on peut, par exemple , le composant de la barre de navigation navbar Dans .vue :
<a href="##" rel="external nofollow" >{{this.$store.state.users.currentUser.UserName}}</a>
De cette manière, accédez aux propriétés des utilisateurs.
Recommandations associées :
Explication détaillée de l'intercepteur de ressources Vue jugeant le saut d'échec du jeton
Vue utilise un jeton pour accéder à la page de connexion après son expiration
Exemple d'explication détaillée de jQuery Ajax utilisant un jeton pour vérifier l'identité
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
![VMware Horizon Client ne peut pas être ouvert [Réparer]](https://img.php.cn/upload/article/000/887/227/170835607042441.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
VMware Horizon Client vous aide à accéder facilement aux postes de travail virtuels. Cependant, l'infrastructure de bureau virtuel peut parfois rencontrer des problèmes de démarrage. Cet article décrit les solutions que vous pouvez adopter lorsque le client VMware Horizon ne parvient pas à démarrer correctement. Pourquoi mon client VMware Horizon ne s'ouvre-t-il pas ? Lors de la configuration de VDI, si le client VMWareHorizon n'est pas ouvert, une erreur peut se produire. Veuillez confirmer que votre administrateur informatique a fourni l'URL et les informations d'identification correctes. Si tout va bien, suivez les solutions mentionnées dans ce guide pour résoudre le problème. Réparer le client VMWareHorizon qui ne s'ouvre pas si VMW ne s'ouvre pas sur votre ordinateur Windows
![Le client VMware Horizon se bloque ou se bloque lors de la connexion [Réparer]](https://img.php.cn/upload/article/000/887/227/170942987315391.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Lors de la connexion à un VDI à l'aide du client VMWareHorizon, nous pouvons rencontrer des situations où l'application se bloque lors de l'authentification ou la connexion se bloque. Cet article explorera ce problème et proposera des moyens de résoudre cette situation. Lorsque le client VMWareHorizon rencontre des problèmes de gel ou de connexion, vous pouvez prendre certaines mesures pour résoudre le problème. Réparer le client VMWareHorizon se bloque ou reste bloqué lors de la connexion Si le client VMWareHorizon se bloque ou ne parvient pas à se connecter sous Windows 11/10, appliquez les solutions mentionnées ci-dessous : Vérifiez la connexion réseau Redémarrez le client Horizon Vérifiez l'état du serveur Horizon Effacez le cache du client Réparer Ho

Explication détaillée de la fonction mode en C++ En statistiques, le mode fait référence à la valeur qui apparaît le plus fréquemment dans un ensemble de données. En langage C++, nous pouvons trouver le mode dans n’importe quel ensemble de données en écrivant une fonction de mode. La fonction mode peut être implémentée de nombreuses manières différentes, deux des méthodes couramment utilisées seront présentées en détail ci-dessous. La première méthode consiste à utiliser une table de hachage pour compter le nombre d'occurrences de chaque nombre. Tout d’abord, nous devons définir une table de hachage avec chaque nombre comme clé et le nombre d’occurrences comme valeur. Ensuite, pour un ensemble de données donné, nous exécutons

Le système d'exploitation Windows est l'un des systèmes d'exploitation les plus populaires au monde et sa nouvelle version Win11 a beaucoup attiré l'attention. Dans le système Win11, l'obtention des droits d'administrateur est une opération importante. Les droits d'administrateur permettent aux utilisateurs d'effectuer davantage d'opérations et de paramètres sur le système. Cet article présentera en détail comment obtenir les autorisations d'administrateur dans le système Win11 et comment gérer efficacement les autorisations. Dans le système Win11, les droits d'administrateur sont divisés en deux types : administrateur local et administrateur de domaine. Un administrateur local dispose de tous les droits d'administration sur l'ordinateur local

Explication détaillée de l'opération de division dans OracleSQL Dans OracleSQL, l'opération de division est une opération mathématique courante et importante, utilisée pour calculer le résultat de la division de deux nombres. La division est souvent utilisée dans les requêtes de bases de données. Comprendre le fonctionnement de la division et son utilisation dans OracleSQL est donc l'une des compétences essentielles des développeurs de bases de données. Cet article discutera en détail des connaissances pertinentes sur les opérations de division dans OracleSQL et fournira des exemples de code spécifiques pour référence aux lecteurs. 1. Opération de division dans OracleSQL

Les solutions au jeton de connexion invalide incluent la vérification si le jeton a expiré, la vérification si le jeton est correct, la vérification si le jeton a été falsifié, la vérification si le jeton correspond à l'utilisateur, la suppression du cache ou des cookies, la vérification de la connexion réseau et l'état du serveur. , vous reconnecter ou demander un nouveau jeton. Contacter le support technique ou les développeurs, etc. Introduction détaillée : 1. Vérifiez si le jeton a expiré. Le jeton de connexion a généralement une période de validité définie. Une fois la période de validité dépassée, il sera considéré comme invalide, etc.

Le problème du jeton de connexion invalide peut être résolu en vérifiant la connexion réseau, en vérifiant la période de validité du jeton, en effaçant le cache et les cookies, en vérifiant l'état de connexion, en contactant le développeur de l'application et en renforçant la sécurité du compte. Introduction détaillée : 1. Vérifiez la connexion réseau, reconnectez-vous au réseau ou modifiez l'environnement réseau ; 2. Vérifiez la période de validité du jeton, obtenez un nouveau jeton ou contactez le développeur de l'application 3. Effacez le cache et les cookies, effacez le navigateur ; cache et Cookie, puis reconnectez-vous à l'application; 4. Vérifiez l'état de connexion.

MQTT (MessageQueuingTelemetryTransport) est un protocole léger de transmission de messages couramment utilisé pour la communication entre les appareils IoT. PHP est un langage de programmation côté serveur couramment utilisé qui peut être utilisé pour développer des clients MQTT. Cet article présentera comment utiliser PHP pour développer un client MQTT et inclura le contenu suivant : Concepts de base du protocole MQTT Exemples de sélection et d'utilisation de la bibliothèque client PHPMQTT : Utilisation du client PHPMQTT pour publier et
