首页 新闻 搜索 专区 学院

关于Session的问题

0
[已解决问题] 解决于 2021-10-30 18:00

当用户登录后,通常在服务端以Session["UserName"] = “name”的形式创建session,然后服务器返回独有的sessionID。接下来有一个问题,用户在其他地方登录同一个账号,也就是同样的Session["UserName"] = “name”创建session,在服务端的sessionID是否相同,如果不相同是不是代表session["key"]其实是可以重复的,只是根据不同的sessionID取出相同的session["Key"]的值,例如下图

godcloudy的主页 godcloudy | 初学一级 | 园豆:20
提问于:2021-10-30 12:10
< >
分享
最佳答案
0

用户在其他地方登录同一个账号

其它地方 是指什么?另一个 后端应用?
如果是分布式系统,session已经有做分布式处理,统一存储在一个地方,比如,Redis、MongoDB,,否则,每个后端应用都有自己的一套 建立session的机制。
---同一个域名的情况下

不同域名的情况下怎么处理的呢?请看看 SSO(单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。)的资料和解决方案,比上面的分布式系统session更复杂一些。

奖励园豆:5
快乐的凡人721 | 老鸟四级 |园豆:2202 | 2021-10-30 16:35

嗯,我去查查相关博客。谢谢

godcloudy | 园豆:20 (初学一级) | 2021-10-30 18:00

@godcloudy:
这个和 安全、架构 有关系,,可以看看 OAuth2

快乐的凡人721 | 园豆:2202 (老鸟四级) | 2021-10-30 18:20
其他回答(1)
0

服务器根据sessionid寻找相应的session,sessionid是唯一的。
同一个用户在不同机器登陆时,会产生不同的session,即sessionid不同。
同一个session的key相同时会被覆盖。
我是这样理解的。

up-bear | 园豆:131 (初学一级) | 2021-10-30 15:41

支持(0) 反对(0) godcloudy | 园豆:20 (初学一级) | 2021-10-30 17:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册