}
return Promise.resolve(new ErrorModel(‘尚未登录’));
}
在这里暂时将登录验证的请求方式通过后台来设置cookie缓存,因此在这里的代码实现如下:
if(method === ‘GET’ && req.path === ‘/api/user/login’){
// const { username, password } = req.body;
const { username, password } = req.query;
const result = UserMes(username ,password);
return result.then(data => {
console.log(username,password);
if(data.username){
res.setHeader(‘Set-Cookie’,`username=‘${username}’; path=‘/’;`);
return new SuccessModel();
}
return new ErrorModel(‘登录失败’);
})
// if(result){
// return new SuccessModel();
// }else{
// return new ErrorModel(‘登录失败’);
// }
}
**cookie权限设置
1.给cookie做权限设置主要是为了让前端不能任意的对cookie做更改,保证cookie的安全性,具体设置权限
的方式是直接在后台设置路由的地方直接设置httpOnly。
2.在这里还需要注意的一点就是,当在给浏览器设置cookie时,需要我们手动的去除掉空格,如果不清除,
浏览器会自动的帮我们在设置cookie的地方自动的加上空格,这样会使得之后创建的cookie被前面的所覆盖
3.在这里我们还可以对cookie设置最大的缓存时间,具体的设置方式是通过setTime()和getTime()一起使用**
具体的代码实现如下:
const getCookieExpires = () => {
const d = new Date();
d.setTime(d.getTime() + (24 * 60 * 60 * 1000));
console.log('d.toGMTString() is ', d.toGMTString());
return d.toGMTString();
}
最后只需要在设置cookie的地方去调用这个方法即可。
session介绍与session设置
对于cookie设置产生的问题,如果在浏览器端直接去返回username,这样的方式会很容易就会暴露用户的信息,对于
这样的处理方式显然是不可取的。最好的方式就是cookie中储存userid(这个是随机生成的),server端去对应username
那么这个时候就需要去设置session。因此对于session可以概述为server端储存用户信息
**1.在这里我们首先设置一个全局变量去存放session数据,其代码为const SESSION_DATA = {}
2.如何去解析session,需要去设置两个变量第一个是needSetCookie,第二个是userId,第一个变量用来判断是否需要去
设置cookie,第二个参数用于进行userId的设置。其逻辑大概如下所述: 1.首先判断是SESSION_DATA(userId)是否
存在,如果不存在就将其设置为一个空对象,如果存在就需要去设置userId,对于userId只需要将其赋值成一个时间戳加上
一个随机数,就可以生成一个唯一表示。最后只需要使用req.session = SESSION_DATA[userId];就可以去设置userId**
具体的实现代码如下:
//首先将req.cookie.userid赋值给uerId,在session中只需要判断cookie中是否存在userId即可
let needSetCookie = false;
let userId = req.cookie.userid; //两者都是变量而不是常量
if(userId){
if(!SESSION_DATA[userId]){
SESSION_DATA[userId] = {};
}
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
结尾
正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。
以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。