问题: (html)前端如何验证token的合法性来判断用户是否登录?

描述:

1、我使用了JWT的方式,后端生成了一个token,将其返回给前端,前端获取到后每次请求接口都附带上这个token,后端来判断这个token是否合法,如果不合法,后端该如何让其重定向到登录页面?是前端根据后端返回的错误信息让前端重定向吗?

2、使用react-router之类的前端路由,我在切换路由的时候怎么判断用户是否已经登录了呢?毕竟有的页面不能让未登录的用户访问,如果没有登录,就在前端将其重定向到登录页面。这个是要在每次切换前端路由的时候向后端发送一个请求来验证吗?如果验证通过了才将页面切换过去。

3、或者还有没有什么更好也更安全的保持登录状态的方法呢?

解决方案1:

楼上说的都没错, 我也正在搞这个。 后端验证返回错误码, 前端判断是登录还是权限不足。

解决方案2:

1 token保存在前端 后端验证不通过返回错误码 由前端重定向

2 用react了肯定是个单页应用 你路由跳转不需要去验证 只要登录的时候验证了就可以了 后续的通过每个接口的权限验证来判断是否有页面权限

解决方案3:

正在用laravel jwt和vue写项目在,说下我的想法:

首先,前后端一定要有个约定,即返回的数据格式及如何处理错误。比如我们返回的json的数据格式(高级点还有http status响应机制)

{

"code": 0, // 0代表成功,1失败,2未登录....

"msg": "修改成功!"

"data":[]

}

前端每次请求路由之前做个响应(vue对应的是router.beforeEach方法,这里我不太了解react,但是你查下肯定有这个方法),先判断本地是否有存储用户的登录信息,无则直接返回登录页面(or其它业务页面),有则进行你的其它操作,这里已经回答第二个问题了,至于你说的部分页面才需要用户登录,也很简单,只需要对路由进行分组处理

登录之后,将后端返回的信息包装存储本地,比如token及用户信息,以备下次调用

这里回到你的第一个问题,当用户请求通过路由前的判断,也就是前端认为用户已登录用token去请求后端api的时候,后端返回token过期或者错误的时候怎么处理?这个时候返回的数据code=2,那么我们只需要在统一请求后端api接口的地方做个响应,当code=2,清空本地存储的用户数据,前端路由到登录页即可,这里不该后端去重定向了

第三个问题不好回答,安全是相对的,这个方式已经很安全了。设计的符合用户习惯,业务逻辑无问题就是我的目标

你的标题貌似有问题,token的合法性是后端去判断的,应该问前端如何根据后端对token验证的结果做出响应

html判断 token,(html)前端如何验证token的合法性来判断用户是否登录?相关推荐

  1. Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)

    1.退出登录 注册界面跳转到登陆界面:templates/register.html 前端注册界面 {# 跳转到登陆界面 #}<a href="{% url 'users:login' ...

  2. 前端登录验证(Token)

    1.登录验证(token) 请求需要登录态标识的接口时,会先判断本地是否存储的有token. ①如果是客户端首次登陆, 会将用户密码发送给服务器端, 服务器判断用户密码是否正确, 如果验证正确的话返回 ...

  3. vue 用户名重复验证_Vue项目中实现用户登录及token验证

    在前后端完全分离的情况下,Vue项目中实现token验证大致思路如下: 1.第一次登录的时候,前端调后端的登陆接口,发送用户名和密码 2.后端收到请求,验证用户名和密码,验证成功,就给前端返回一个to ...

  4. wegame每次登陆都要滑动验证_Vue项目中实现用户登录及token验证

    在前后端完全分离的情况下,Vue项目中实现token验证大致思路如下: 1.第一次登录的时候,前端调后端的登陆接口,发送用户名和密码 2.后端收到请求,验证用户名和密码,验证成功,就给前端返回一个to ...

  5. 关于登录,存储token,验证本地token,请求头携带token。

    1.为什么要使用token,token是什么? 官方回答: Token 是在服务端产生的.如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端.前端可以在每 ...

  6. 手机验证码+Redis登录验证+token+登录拦截

    手机验证码+Redis登录验证+token+登录拦截 文章目录 手机验证码+Redis登录验证+token+登录拦截 解决方案 思想 以阿里云为例 1.阿里云官网开通短信服务 2.创建签名 3.创建短 ...

  7. java如何判断token过期_【Java】后台判断token过期,后台刷新token,接下来该如何处理...

    如标题所示 我再详细描述一下我遇到的问题,如果我再发送请求的试试,后台验证header中的token,如果这时候,发现token过期,然后一系列判断其为合法token,允许token刷新,后台主动刷新 ...

  8. WebApi后端框架Token身份认证,Api接口Token验证

    令牌概述(Token) 在以用户账号体系作为安全认证的信息系统中,对用户身份的鉴定是非常重要的事情. 令牌机制是软件系统安全体系中非常重要的部分,在计算机身份认证中是令牌的意思,一般作为邀请.登录以及 ...

  9. java SpringBoot登录验证token拦截器

    用户访问接口验证,如果用户没有登录,则不让他访问除登录外的任何接口. 实现思路: 1.前端登录,后端创建token(通过JWT这个依赖),返给前端 2.前端访问其他接口,传递token,后端判断tok ...

最新文章

  1. vscode 默认初始化_VSCode设置初始化模板
  2. python自学网站 知乎-如何自学Python拿到25K的薪资?非常感谢这11个站点!
  3. Android 操作系统为什么不启用swap?
  4. sqlserver中的通配符
  5. Qt 设置当前窗口出现在左右窗口的最前面
  6. Win32下 Qt与Lua交互使用(二):在Lua脚本中使用Qt类
  7. 每天一杯C_Visual Studio各个版本的区别和总结
  8. ArcEngine中多边形内外环的处理(转)
  9. Bootstrap HTML编码规范之引入 CSS 和 JavaScript 文件
  10. 华为的型号命名规则_iQOO新品入网;三星Galaxy S21首张官方渲染图曝光;华为nova8真机曝光...
  11. android不是16位,16位图像和Android处理
  12. Android 开源项目及库汇总
  13. foobar2000播放dff格式音乐的解决办法
  14. linux下qt实现vlc视频播放器,Qt编写视频播放器(vlc内核)
  15. PID算法优化之积分器抗饱和处理
  16. iOS 16 Beta 系统上线,Testin云测试云真机服务全新升级
  17. 在树莓派上驱动CSI摄像头
  18. 微信小程序 -- 真机调试时没问题,上线后无法访问服务器
  19. python中while和for的运行顺序_详解python while 函数及while和for的区别
  20. python求矩阵逆、伪逆、转置、矩阵乘法

热门文章

  1. 取消坐标轴上边和右边边框
  2. click热点传参 krpano_移花接木(18)- 修改右键菜单
  3. “打鱼”还是“晒网”
  4. 算命程序源码 实现一对多的网络算命发展趋势 python编写的,测算的精准度 页面的布局 欢迎业内人士指导改进
  5. java计算机毕业设计停车场收费管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  6. IOC和DI是什么,代码实现理解
  7. 英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。
  8. C语言——表达式求值
  9. vue前端代码风格指南
  10. brew安装手册及安装lrzsz