项目场景:
web登录访问时
问题描述:
我们通过session机制进行用户登录访问页面,其中涉及到了cookie机制,cookie是存储在浏览器端,假如浏览器关闭阻止了cookie,还能通过session进行登录访问页面吗
原因分析:
当我们在登录页面填写好用户名和密码时,点击登录按钮,然后浏览器将请求发送给后端处理,后端会生成一个对应的session(可以理解成一种数据结构),将你的用户信息存储在这个session中,然后将session id(可以理解成打开这个数据结构的钥匙)放进cookie(又可以理解成一种数据结构)中返回给浏览器,浏览器会自动存储cookie,之后的请求浏览器会在请求头中自动给你带上这个cookie,然后在后端就能通过请求头中的cookie找到session中的用户信息,表明用户已经登录,可以正常进行访问。
但是如果用户将cookie这种机制给关闭阻止了,不想让浏览器存储cookie该怎么办呢?就不能通过session进行用户登录了吗?这个时候后端仍然会将生成的这个cookie返回给浏览器,虽然浏览器不会自动存储了,但是仍然返回了,所以前端可以获取这个cookie进行处理保存,之后的请求仍然能带上,能继续通过session机制进行访问。
解决方案:
前端将cookie进行保存,至于存储在哪里,根据实际业务再决定。