C# 不同用户之间存在相同的会话值

C# 不同用户之间存在相同的会话值,c#,asp.net,C#,Asp.net,我正在开发和开发intranet web应用程序。在Global.asax文件的session_start事件中,我使用user.idenity获取域标识,并将其放入session值中。现在我有了一个母版页,在那里我输入了会话值以显示用户名 我正在使用windows身份验证和身份模拟true。但发布后,首先登录系统的用户名将显示给所有人 我无法找出原因。请提出建议。如果没有一些示例代码,很难确定问题,但我可以猜到发生了什么 您是否理解打开一个新的Web浏览器选项卡,或只是在同一选项卡中打开同一U

我正在开发和开发intranet web应用程序。在Global.asax文件的session_start事件中,我使用user.idenity获取域标识,并将其放入session值中。现在我有了一个母版页,在那里我输入了会话值以显示用户名

我正在使用windows身份验证和身份模拟true。但发布后,首先登录系统的用户名将显示给所有人


我无法找出原因。请提出建议。

如果没有一些示例代码,很难确定问题,但我可以猜到发生了什么

您是否理解打开一个新的Web浏览器选项卡,或只是在同一选项卡中打开同一URL可能会启动一个新会话


会话状态作为cookie在客户端(Web浏览器)中持久化,同一浏览器会话中的任何选项卡或窗口(如果关闭并重新打开浏览器将结束)将共享会话状态。换句话说:所有选项卡或相同的浏览器会话窗口将在服务器端共享相同的会话状态

显示您的代码以放置和检索损坏的值。此外,您还应该阅读。您不能直接从
页.User.Identity.Name获取它吗?为什么需要将其存储在会话中?挂接后,在两个不同的系统中不会显示相同的用户名url@Shipu那么,你已经确认我正在描述你的问题。您是否理解它,或者需要关于它的任何进一步详细信息?除非您使用不同的键创建会话变量,即每个用户一个会话。否则,具有相同标识符密钥的会话将始终overwritten@Amn是的,但检查他的第一条评论:在点击url@Amn后,两个不同的系统中没有显示相同的用户名。如果问题是“覆盖相同的会话密钥”,他应该会发现用户名会随着时间的推移而改变。。。