javascript - Problèmes liés à l'interception de connexion de pages séparées avant et après
三叔
三叔 2017-06-24 09:44:13
0
8
1849

Le projet est séparé d'avant en arrière. Le back-end ne fournit que des interfaces vers le front-end, et chaque interface a un jeton. Certaines pages nécessitent désormais une connexion pour accéder.前端如何拦截。比如:由A页面通过A标签跳转到B页面(B页面需要登录才能进去)。我现在做法是进到B页面,发送ajax请求L'arrière-plan renvoie le statut avant d'y accéder. la page de connexion. Le problème maintenant est que j'ai entré B. Il est déraisonnable de porter des jugements uniquement sur la base de la page.

三叔
三叔

répondre à tous (8)
巴扎黑

Vous pouvez envisager d'envoyer une requête ajax d'abord en cliquant sur la balise a, puis décider où sauter ?

    滿天的星座

    Vous pouvez encapsuler une requête ajax par vous-même, juger l'état de connexion séparément, passer à la connexion si vous n'êtes pas connecté et renvoyer les données directement après vous être connecté

      女神的闺蜜爱上我

      Écrivez un js public, écrivez-y la fonction de chargement de page, référencez la page à laquelle vous avez besoin d'une autorisation de connexion pour accéder, puis écrivez-y un jugement logique

        为情所困

        Le front-end n'intercepte pas, le serveur intercepte. Pour l’interception frontale, cela ne peut se faire qu’à la page B. Avez-vous pensé à épeler l’URL à saisir ? L'interface d'accès à la page B essaie d'obtenir les informations utilisateur. Si vous les obtenez, vous êtes connecté. Si vous ne les obtenez pas, vous n'êtes pas connecté.

          ringa_lee

          Les jetons ont généralement un délai d'expiration. Lorsque vous enregistrez des jetons dans le stockage local, apportez un délai d'expiration. Lorsque la page saute, déterminez d'abord si le jeton
          a expiré, il passera à la page de connexion.
          S'il s'agit d'une application d'une seule page, cela est facile à résoudre. S'il ne s'agit pas d'une application d'une seule page, écrivez-la simplement dans un js public.

            阿神

            L'utilisateur passera certainement à la deuxième page en raison d'une action interactive. La vérification de la connexion sera effectuée avant de sauter. S'il n'est pas connecté, il lui sera demandé de se connecter (ou de s'inscrire). encapsulated. Encapsulated Réservez un rappel réussi après la connexion et un rappel après une inscription réussie, puis passez à la page B dans la fonction de rappel

              迷茫

              Il existe deux manières de résoudre ce problème :
              1. Le serveur effectue une vérification puisqu'il s'agit d'une page qui nécessite une connexion pour entrer, ce qui impliquera inévitablement des autorisations de l'utilisateur. Il y a un jeton dans la requête ajax envoyée par la page B. Le le backend effectue une vérification de l'expiration du jeton pour déterminer s'il y a une autorisation. Lorsque des erreurs sont signalées, revenez au front-end et écrivez une méthode publique pour vérifier le message d'erreur sans autorisation (cette méthode devrait être plus sécurisée sur l'interface de réponse)
              2. le frontal écrit un chien de garde js sur chaque page pour déterminer l'expiration des informations utilisateur stockées. Le temps saute.

              Je pense que la demande de l'affiche est de déterminer s'il faut sauter en cliquant. Vous pouvez changer la balise a en fonction de clic et juger dans la fonction pour accéder à la page en utilisant window.location.href = url

                三叔

                À quoi sert le framework frontal lz ?
                Je sais qu'il existe une fonction hook dans vue_router qui peut être implémentée dans router.beforeEach, il est jugé s'il faut se connecter. Sinon, connectez-vous. , juste après()

                  Derniers téléchargements
                  Plus>
                  effets Web
                  Code source du site Web
                  Matériel du site Web
                  Modèle frontal
                  À propos de nous Clause de non-responsabilité Sitemap
                  Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!