项目实用-不登录就无法访问主页
在前后端分离模式的开发中,服务器如何知道来访者的身份呢?
- 在登录后,服务器会响应给用户一个 令牌 (token)
- 令牌中会包括该用户的id等唯一标识
- 浏览器收到令牌后,自己保存
- 下次请求其他接口时,(在请求头中)携带这个令牌去请求
- 这样服务器就知道来访者的身份了,服务器就会为该用户开发接口的访问权限,并处理该用户的数据
全局配置请求头
由于除了登录和注册接口外,其他所有接口都需要身份认证(都需要我们提供令牌),我们可以全局配置请求头
axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');
利用令牌控制页面的访问权限
比如,用户默认只能访问登录页,如果不登录就不能访问首页,怎么做?
首先,我们要判断本地存储是否有token
<!-- index.html -->
<!-- 本地存储有token,则说明用户登录了;没有token,则说明用户没有登录,不允许访问首页 -->
<script>
//没有token 返回的login页面if (localStorage.getItem('token') === null) location.href = './login.html'
</script>
第二,我们要判断token是否是假token或者是过期的token
在全局配置中,使用响应拦截器
- 如果token值是正确的,是没有过期的,则服务器响应
code===0
- 如果token是错误的或者是过期的,则服务器响应
code===1 && message==='身份认证失败'
axios.interceptors.response.use(function (response) {//在接收响应时做什么,响应码小于400执行if (response.data.code === 1) {toastr.warning(response.data.message)}return response;
},
function (error) {// 在请求错误时对要做的事,响应码大于400if (error.response) {if (error.response.data.message === '身份认证失败') {localStorage.removeItem('token');location.href = './login.html'}else {toastr.error(error.response.data.message);}}return Promise.reject(error);
});
项目实用-不登录就无法访问主页相关推荐
- 【高校宿舍管理系统】第四章 创建前端项目以及完成登录页面
第四章 创建前端项目以及完成登录页面 提示:本博客个为人独立博客,不是权威,仅供参考!所有思路只做交流之用!如有不足之处,望各位在评论区友善指正. 文章目录 第四章 创建前端项目以及完成登录页面 前言 ...
- 黑马点评项目-短信登录功能
一.导入黑马点评项目 1.代码下载 视频资源链接:P25 实战篇-02.短信登录-导入黑马点评项目 代码可以直接去黑马微信公众号上搜索,或者从下面的网盘链接中下载:链接: https://pan.ba ...
- 大项目之网上书城(五)——主页(End)
目录 大项目之网上书城(五)--主页(End) 主要改动 1.主页(终于完成啦) 完整代码 效果图 2.head.jsp的小改动 代码 3.login.jsp ###代码 效果图 4.login.js ...
- 开发期间模板引擎页面修改以后,要实时生效 || 登陆成功,防止表单重复提交,可以重定向||只有登录之后才能访问相关的页面
去除模板引擎的缓存 th:if 优先级高于 th:text 登陆成功,防止表单重复提交,可以重定向到主页 只有登录之后才能访问相关的页面 login.html <!DOCTYPE html& ...
- 前端项目课程5 登录界面如何做
前端项目课程5 登录界面如何做 一.总结 一句话总结:找到好看的登录界面,然后模仿,再根据自己的需要加入自己的元素即可. 1.如何让块标签里面的行标签居中? 在块标签上面加 text-align:ce ...
- 教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题)...
教你发布Silverlight Bussiness Application(SQL Server 登录,局域网访问,以及使用ArcGIS Server服务需要注意的问题) 原文:教你发布Silverl ...
- Vue 如何实现登录后,跳转到登录之前要访问的页面
Vue 如何实现登录后,跳转到登录之前要访问的页面 一.需求 有些时候,需要实现这样的功能: 项目中的有些页面是可以直接访问的,不需要登录. 但这个页面中的一些链接一些路径则需要登录后才能查看,也就是 ...
- 项目框架:登录跳转页面
项目框架:登录跳转页面 运行结果: 代码整体布局: 代码如下: proj_hr_yzh7.sql :(数据表备份代码) pom.xml: web.xml: ForwardController : Em ...
- Node项目部署正常启动后不能访问的问题
Node项目部署正常启动后不能访问的问题 Node项目部署之后,发现访问不了,pm2 list也是正常的,vue项目都可以正常访问,就是请求后台nodejs的时候就报404. 原以为是pm2的问题,先 ...
最新文章
- 3- MySQL数据类型
- Hadoop运行模式 之 伪分布式运行模式
- 温州大学《深度学习》课程课件(十二、自然语言处理和词嵌入)
- 你所不知道的端口号知识!
- linux更改语言脚本,Linux shell脚本入门——shell语言脚本【CentOS】
- eclipse-Java compiler level does not match the version of the installed Java project facet.
- 使用Vitamio打造自己的Android万能播放器(6)——在线播放(播放列表)
- VC读取PE文件的OEP
- Java引入依赖aar_Grade将依赖的jar 打包进aar
- SRM596 DIV2 500
- 为SIT Portal切换SIT所连接的数据库
- android中一个应用程序启动另外一个应用程序,并传递数据。
- c++中计算2得n次方_南大专转本 2020年计算机考前模拟(A)
- Mcad学习笔记之Microsoft Windows服务
- MyCat Catlet实现 详解
- cv2.error: OpenCV(4.1.0)error: (-215:Assertion failed) !ssize.empty() in function ‘resize‘——记录解决方法
- linux 给u盘 变更名字,u盘怎么改名字|在电脑修改U盘名字的方法
- 如何解锁物联网低代码平台操作日志功能?
- 【Java学习笔记之七】java函数的语法规则总结
- 喜马拉雅.xm格式文件转化为.mp3格式
热门文章
- SVN ---文件加锁,执行clean up命令
- Activity.startManagingCursor方法
- UVA10193 All You Need Is Love【进制+GCD】
- NUC1090 Goldbach's Conjecture【哥德巴赫猜想 】
- HDU1013 POJ1519 Digital Roots(解法三)【废除!!!】
- Java 高阶 —— try/catch
- sklearn preprocessing 数据预处理(OneHotEncoder)
- 常用标记语言及其工具
- 满纸辛酸泪 —— 红楼梦中话
- C++基础——非类型模板参数