Il existe une URL d'application d'une seule page telle que http://cctv.com/!#/car/list
. Je ne peux accéder à cette URL que lorsque je suis connecté. Si je ne suis pas connecté, je dois accéder à la page de connexion.
Dans le passé, si vous demandiez l'URL en arrière-plan, l'arrière-plan déterminait si l'utilisateur actuel est connecté, mais il s'agit désormais d'une application d'une seule page et il n'est pas nécessaire de demander l'arrière-plan. dans le cas d'une application d'une seule page, comment gérer si l'utilisateur est connecté ? Qu'en est-il de l'état de connexion ?
Écoutez les modifications de
url
et vérifiez l'état de connexion s'il n'est pas connecté, déconnexion.Vérifier le statut de connexion
url
变化,如果不是login logout 就检查登录状态。检查登录状态
检查js变量,没有登录就直接跳登录页
如果js变量已经登录,就判断一下是否需要异步检测 不需要检测就结束(比如上次检测是在60秒内)。
如果需要异步检测,就异步检测是否登录,如果成功 刷新一下
lastcheck
lastcheck
. 🎜🎜 🎜🎜Si vous détectez que vous n'êtes pas connecté, accédez directement à la page de connexion🎜🎜 🎜Après la connexion, l'API back-end donne le jeton, le front-end stocke le jeton et transmet le jeton lorsque l'accès nécessite une connexion. Le routage frontal détermine s'il existe un jeton et, sinon, connectez-vous. De plus, le frontal dispose d'une gestion des erreurs pour les API interactives asynchrones. Par exemple, le code d'erreur du back-end indique que le jeton a expiré. Le front-end efface le jeton précédent et passe à la connexion.
La pratique habituelle est désormais que le front-end envoie le nom d'utilisateur et le mot de passe au backend via l'API. Quant à savoir s'il faut rester connecté, le backend définit le cookie et le frontend n'a rien à faire
.Stockage du statut de connexion via localStorange, mais il n'y a aucune sécurité du tout
Le statut de connexion est stocké dans le cookie par le backend. Vous n'êtes pas obligé d'y penser.
Laissez simplement l'arrière-plan définir les cookies.
Après avoir défini le cookie en arrière-plan, l'en-tête sera automatiquement affiché lorsque le front-end fera une demande.
Convenez ensuite d'un code de statut Lorsque la demande renvoie un code de statut spécifique, elle passera à la page de connexion.
Quelle que soit la situation, le front-end ne sait pas qui est l'utilisateur ni s'il est connecté. Alors qui sait ? extrémité arrière!
Il vous suffit donc de fournir les informations de statut de connexion que le backend vous donne à chaque fois et de laisser le backend les vérifier.
1. Vous pouvez le stocker dans un cookie et l'envoyer à chaque fois que vous le demandez. Bien sûr, cela peut être transparent pour vous, laissez le backend installer des cookies et définissez-le sur http uniquement.
2. Comme il s'agit d'une seule page, elle peut également être stockée dans une variable globale en mémoire. Sinon, elle ne sera pas connectée.
3. Vous pouvez mettre en cache le jeton vous-même et l'apporter manuellement à chaque fois que vous envoyez une demande.
Cela dépend de la façon dont votre backend le prend en charge. Les méthodes de jeton et de cookie sont acceptables
.loopback+vue+vue-resource, modèles de séparation front-end et back-end, fonction de pagination de page vue, contrôle des autorisations d'authentification, mécanisme de jeton d'accès, informations d'identification, CI, docker
https://github.com/qxl1231/ge...
Il suffit de regarder mon exemple de projet pour découvrir la solution complète
.