html判断 token,(html)前端如何验证token的合法性来判断用户是否登录?
问题: (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的合法性来判断用户是否登录?相关推荐
- Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)
1.退出登录 注册界面跳转到登陆界面:templates/register.html 前端注册界面 {# 跳转到登陆界面 #}<a href="{% url 'users:login' ...
- 前端登录验证(Token)
1.登录验证(token) 请求需要登录态标识的接口时,会先判断本地是否存储的有token. ①如果是客户端首次登陆, 会将用户密码发送给服务器端, 服务器判断用户密码是否正确, 如果验证正确的话返回 ...
- vue 用户名重复验证_Vue项目中实现用户登录及token验证
在前后端完全分离的情况下,Vue项目中实现token验证大致思路如下: 1.第一次登录的时候,前端调后端的登陆接口,发送用户名和密码 2.后端收到请求,验证用户名和密码,验证成功,就给前端返回一个to ...
- wegame每次登陆都要滑动验证_Vue项目中实现用户登录及token验证
在前后端完全分离的情况下,Vue项目中实现token验证大致思路如下: 1.第一次登录的时候,前端调后端的登陆接口,发送用户名和密码 2.后端收到请求,验证用户名和密码,验证成功,就给前端返回一个to ...
- 关于登录,存储token,验证本地token,请求头携带token。
1.为什么要使用token,token是什么? 官方回答: Token 是在服务端产生的.如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端.前端可以在每 ...
- 手机验证码+Redis登录验证+token+登录拦截
手机验证码+Redis登录验证+token+登录拦截 文章目录 手机验证码+Redis登录验证+token+登录拦截 解决方案 思想 以阿里云为例 1.阿里云官网开通短信服务 2.创建签名 3.创建短 ...
- java如何判断token过期_【Java】后台判断token过期,后台刷新token,接下来该如何处理...
如标题所示 我再详细描述一下我遇到的问题,如果我再发送请求的试试,后台验证header中的token,如果这时候,发现token过期,然后一系列判断其为合法token,允许token刷新,后台主动刷新 ...
- WebApi后端框架Token身份认证,Api接口Token验证
令牌概述(Token) 在以用户账号体系作为安全认证的信息系统中,对用户身份的鉴定是非常重要的事情. 令牌机制是软件系统安全体系中非常重要的部分,在计算机身份认证中是令牌的意思,一般作为邀请.登录以及 ...
- java SpringBoot登录验证token拦截器
用户访问接口验证,如果用户没有登录,则不让他访问除登录外的任何接口. 实现思路: 1.前端登录,后端创建token(通过JWT这个依赖),返给前端 2.前端访问其他接口,传递token,后端判断tok ...
最新文章
- vscode 默认初始化_VSCode设置初始化模板
- python自学网站 知乎-如何自学Python拿到25K的薪资?非常感谢这11个站点!
- Android 操作系统为什么不启用swap?
- sqlserver中的通配符
- Qt 设置当前窗口出现在左右窗口的最前面
- Win32下 Qt与Lua交互使用(二):在Lua脚本中使用Qt类
- 每天一杯C_Visual Studio各个版本的区别和总结
- ArcEngine中多边形内外环的处理(转)
- Bootstrap HTML编码规范之引入 CSS 和 JavaScript 文件
- 华为的型号命名规则_iQOO新品入网;三星Galaxy S21首张官方渲染图曝光;华为nova8真机曝光...
- android不是16位,16位图像和Android处理
- Android 开源项目及库汇总
- foobar2000播放dff格式音乐的解决办法
- linux下qt实现vlc视频播放器,Qt编写视频播放器(vlc内核)
- PID算法优化之积分器抗饱和处理
- iOS 16 Beta 系统上线,Testin云测试云真机服务全新升级
- 在树莓派上驱动CSI摄像头
- 微信小程序 -- 真机调试时没问题,上线后无法访问服务器
- python中while和for的运行顺序_详解python while 函数及while和for的区别
- python求矩阵逆、伪逆、转置、矩阵乘法
热门文章
- 取消坐标轴上边和右边边框
- click热点传参 krpano_移花接木(18)- 修改右键菜单
- “打鱼”还是“晒网”
- 算命程序源码 实现一对多的网络算命发展趋势 python编写的,测算的精准度 页面的布局 欢迎业内人士指导改进
- java计算机毕业设计停车场收费管理系统源码+系统+数据库+lw文档+mybatis+运行部署
- IOC和DI是什么,代码实现理解
- 英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。
- C语言——表达式求值
- vue前端代码风格指南
- brew安装手册及安装lrzsz