项目用的技术:vue+flask+mysql
部署到iis上
登录页核心JS:
```javascript
this.axios
.post("http://127.0.0.1:5000/userlogin", this.qs.stringify(data))
.then((res) => {
...
},
后端核心代码:
```python
if user:
session['jk_user'] = tel
session['jk_token'] = f"{str(request.user_agent)}_{request.remote_addr}"
# 设置过期时间
if isrem == "true":
session.permanent = True
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(minutes=60)
return jsonify({"res": "ok"})
else:
return jsonify({"res": "用户名或密码错误"})
问题:
用http://127.0.0.1:5000/userlogin时,登录状态可以保存,即客户端有对应的cookie值。
现在项目上线后,把后端接口地址换成正式的地址后:http://正式项目域名:5000/userlogin,客户端没有对应的cookie值,登录状态不能保存。
网上很多地址说这样设置,但是还是没有效果:
app.config["SESSION_COOKIE_SECURE"] = True
app.config["SESSION_COOKIE_SAMESITE"] = "None"
我的是上线换成https后session失效的,后来把这些都写进cookie里去了,然后获取cookie验证
不知道你这个问题是否已经解决, 如果还没有解决的话: