session和cookie不能解决前后端分离,用户校验和权限认证问题

  1. session数据是保存到服务端的,但是 sessionID是保存到 浏览器cookie里的。

  2. 登录成功之后,服务端保存 session数据,然后 sessionid 写入到cookie里,这里注意:

    这个 sessionid 是 设置给 192.168.9.10:8000 这个域的; 因为同源策略 所以 192.168.9.10:9999 这个域的 js代码,是不能 读取和修改 这个sessinID的 cookie的。
    默认情况下,192.168.9.10:9999这个域的 ajax请求 是 不会携带 192.168.9.10:8000 域的 cookie的,但是可以 通过 一些 配置 允许 携带 目标域的 cookie(携带 并不等于 读取写入,不违背同源策略) 。

总结:cookie随意传,但如果读不到session_id的cookie,请求就不带这个cookie到服务器。

总结 session_id只能在一个域中,在别的域读不到。这也验证 session不能跨域。

其实 前后端不分离的话(因为域相同)cookie存session_id前端可以读到,但 前后端分离(因为域不相同)cookie存session_id前端不可以读到。怎么办呢,你session_id跨域读不到,不用session了那就换成token吧
1.cookie存session_id,(前后端不分离)服务器有状态
2.cookie存token,(前后端分离)服务器无状态

前后端不分离cookie存session_id可以(服务器有状态:服务器存用户信息例子单点登录),前后端分离cookie存token可以(服务器无状态:服务器不存用户信息)

最后 前后端不分离用session, 前后端分离用token。反正都是放到cookie中。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值