我对MVC4中的会话管理有点困惑.
可以说,我输入了用户名和密码,然后单击了"登录"按钮.然后在服务器端,我从HttpContext.Current.Session获得了SessionId.然后我正在验证针对数据库的用户凭据.如果用户有效,则在Session中添加SessionId,userName和uiserId.
可以说,下次请求来自同一台机器和同一个浏览器时,我得到了相同的SessionId,然后允许该用户访问其他信息.
现在我有以下问题:
- 服务器如何知道该请求来自同一台浏览器和同一台机器?
- 我发现,SessionId对于不同的浏览器是不同的,但对于不同机器上的同一浏览器是相同的,所以如果我从machine1登录并使用谷歌浏览器,那么是否可以对不同的浏览器使用相同的会话?(意味着会话将是可用于具有相同浏览器的不同机器.是否可能?)
- 服务器如何理解该请求是针对同一用户,谁登录?
- 在asp.net会话中是由viewState维护的,但是在MVC中没有使用视图状态,那么在MVC中使用了什么?