一个关于自动登录的问题 特殊网络下面对Cookie的操作
一个保存登陆问题
原理:
输入用户名密码 并验证正确
把user_id 放进cookie里面 保存1天
同时把 user_id通过key=value方式放进缓存
login#{uid}={uid}放进缓存里面 保存1天
用户在未注销情况下访问网站
从cookie里面拿出user_id 然后根据id从缓存里面根据key取出 user_id 查询user对象 登陆成功
服务器设置:
web服务器 n台
缓存服务器 1台
数据库服务器 1台
客户端上网环境:
铁通网络
多人通过一个路由器进行网络连接
出现问题:
用jq的ajax请求拿到的user对象
和通过action动态请求拿到的user对象
两个user对象不相同
比如
网络内某人偶尔能登陆上去一个用户名zilinmengying(不是单指一个账号)
然后一屋子人用其他账号登陆都显示zilinmengying
用jq的ajax获取user取到的是其他账号(该电脑刚登陆的账号,原理这个应该是对的)
用action动态请求拿到的是 zilinmengying (zilinmengying 账号从来没有在此电脑上登陆)
同时查看cookie里面保存的userid缺是对的
该现象 只出现在铁通网络的一个小局域网内 (其他网络正常 )
同时 部署测试服务器一台 测试此流程是正确的
很着急 那位大侠能知道原因 膜拜求教!~!!
------最佳解决方案--------------------一般是因为网络中有代理服务器,将某些不应该缓存的信息进行了缓存,后续访问就没有再访问服务器所致。
不过看你的设计也有点怪,基本用Cookie做免登录,也没必要专门用个缓存去保存用户信息吧;直接从数据库中读取不是也很好?
------其他解决方案--------------------紧急 紧急 千万别沉了~
------其他解决方案--------------------各位大侠 UP 下也好额
------其他解决方案--------------------这个局域网内 请求服务器 相同连接 在一段时间内重新请求 并没有进入服务器 不知道是被浏览器缓存了 还是被网络商给做手脚了 太头疼了 问题未解决 又是一个头疼的事 联系铁通的技术人员问问去吧 多谢3楼大神关注我的问题