您现在的位置是:首页 > 前端会客厅 > web前端web前端

前端判断用户登录状态

YU到边2021-01-15【web前端】人已围观

简介网站有很多权限控制,登录用户和未登录用户显示的内容有差别。
在前后端分离后,那么前端是怎样判断用户是否已登录呢

方法一:

登录成功后,后端返回一个 cookie,根据这个 cookie 的有无来判断;退出登录时,后端会删除这个 cookie;

方法二:

登录成功后,前端设置 cookie,比如'isLogin = true',根据isLogin的值去判断;退出登录时删除 cookieisLogin 或设置  'isLogin = false'。但是这种方法有一个问题,登录期间,有时后台写的cookie(登录标识)会丢失。前端又不能及时察觉,前端依然用isLogin来警醒判断。而请求接口时,后端是以他们写的cookie为准的。这就导致了当后端写的cookie丢失时,而前端依然表现为已登录状态,用户去请求接口,后端却返回提示“未登录”,体验十分不好。所以建议,以后端写的登录成功cookie为基准

方法三:

  1. 前台发送登录请求
  2. 后台返回 token,前台得到后台返回的 token,将其写入到 localStorage 中,后续请求中都携带 token
  3. 后台判断 token 是否过期,如果过期就对前台的请求响应过期标识或者状态码
  4. 前台得到过期标识后,清除 localStorage 中的 token,然后重定向到 login 路由

方法四:
       后端有个session来判断,前端可以通过ajax请求判断后端的session是否存在来判断登录状态。

Tags:前端   登录状态   cookie

很赞哦! ()

文章评论