当用户登录后,通常在服务端以Session["UserName"] = “name”的形式创建session,然后服务器返回独有的sessionID。接下来有一个问题,用户在其他地方登录同一个账号,也就是同样的Session["UserName"] = “name”创建session,在服务端的sessionID是否相同,如果不相同是不是代表session["key"]其实是可以重复的,只是根据不同的sessionID取出相同的session["Key"]的值,例如下图
其它地方 是指什么?另一个 后端应用?
如果是分布式系统,session已经有做分布式处理,统一存储在一个地方,比如,Redis、MongoDB,,否则,每个后端应用都有自己的一套 建立session的机制。
---同一个域名的情况下
不同域名的情况下怎么处理的呢?请看看 SSO(单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。)的资料和解决方案,比上面的分布式系统session更复杂一些。
嗯,我去查查相关博客。谢谢
@godcloudy:
这个和 安全、架构 有关系,,可以看看 OAuth2
服务器根据sessionid寻找相应的session,sessionid是唯一的。
同一个用户在不同机器登陆时,会产生不同的session,即sessionid不同。
同一个session的key相同时会被覆盖。
我是这样理解的。
嗯