我想实现的功能就是:在登录页面输值进行登录之后可以把用户的信息存入到cookie中,判断用户是否在登录状态。
使用的是express框架,里面用到了两个相关的模块:cors跨域
和express的cookie-session模块
,导包如下:
const cors = require('cors');
const cookieSession = require('cookie-session');
然后配置了响应的中间件
app.use(cors());
// 设置cookie中间件
app.use(cookieSession({
name: 'session',
keys: ['zhangsan', 'shuai'], //加密用的加盐技术
maxAge: 24 * 60 * 60 * 1000 //过期的时间:24小时后过期
}))
然后将用户名和密码按照cookie-session模块的使用文档存入到cookie中
逻辑都没有问题之后,我启动服务器在本地中打开了登录页面。
然后输入数据发送请求后,在浏览器Network响应头信息中也能明显的找到对应请求中设置了cookie信息。
但是当我去Application去找cookie的值时候发现里面并没有值。
xhrFields: {withCredentials: true}
,让Ajax请求都带上Cookie。crossDomain: true
:跨域请求为true如果你想强制跨域请求(如JSONP形式)同一域,设置crossDomain为true。例如,服务器端重定向到另一个域res.setHeader("Access-Control-Allow-Credentials",true);
//因为设置允许携带cookie之后那么请求头Access-Control-Allow-Origin的值就不能设置为*,所以要另外指向一个
res.setHeader("Access-Control-Allow-Origin","http://localhost:8089/");
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。