Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

同一浏览器登录多用户的问题 #24

Open
zd906658355 opened this issue Mar 15, 2018 · 5 comments
Open

同一浏览器登录多用户的问题 #24

zd906658355 opened this issue Mar 15, 2018 · 5 comments

Comments

@zd906658355
Copy link

在同一个浏览器中打开两个登录页面,先登录一个admin ,然后在登录一个用户,再去刷新admin的页面时,会发现已经变成了第二个登录的用户信息了,这个有没有什么好一点的办法解决一下呢

@SunFireX
Copy link

SunFireX commented Mar 15, 2018 via email

@baichengzhou
Copy link
Owner

基本不用解决吧。
WEB端应用都是这样。这个基本没什么好的办法,你随便试试淘宝、JD,Sina之类的,随意找个网站都可以,看是否实现了你说的需求!

@SunFireX 既然你说到了cookie,我就解释下,为什么不行。

都知道我们的Web应用交互是无状态的,也就是一个请求A开始到结束,到第二次A请求,其实服务端已经不认识这个A请求了。我们现在认识是为什么,是因为Session?Good,是的。那么我说下Session是怎么实现状态化的。

客户端请求--->服务端(服务端判断Cookie中是否有对应的SessionKey),如果有,用它去获取session,如果没有对应的SessionKey,或者没有获取到session,都会重新创建一个SessionKey,并且创建一个Session,保持KEY:Value的存储关系。
当第二次请求--->服务端(服务端判断Cookie中是否有对应的SessionKey)这个时候就能通过SessionKey获取到Session,从而就是有状态了。

SessionKey就是我们平时说的SessionID。
预知后事如何,请自行百度、Google Cookie And Session

@baichengzhou
Copy link
Owner

当然不是说解决不了,是没必要。另外真的要解决,我可以提供一下思路。当登陆后,重写SessionID,并且更新原来的session,sessionID最好是和用户一一对应。反正各种解决办法都与此类似!

@zd906658355
Copy link
Author

@baichengzhou 恩恩 我去试了一下京东的,好像也是这个样子. 看样子是我想的太多了 ,谢谢了

@liuyueting
Copy link

这个好像很正常吧,第一个cookie被第二个覆盖了啊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants