gpt4 book ai didi

asp.net - 跨子域的ASP.NET MVC session

转载 作者:行者123 更新时间:2023-12-02 04:16:38 25 4
gpt4 key购买 nike

在我的网站上,我实现了自定义 session 值。在登录时,我将 session 值设置为某个对象。该对象用于从db中提取用户特定的数据。

现在的问题是,如果用户使用以下命令登录:test1.somesite.com并注销,然后再次使用以下代码登录:test2.somesite.com,则该用户仍从特定于test1.somesite.com的对象接收数据。

关键是无论哪个站点用户第二次登录,如果他使用另一个子域登录,他总是从先前的子域登录中获取数据。

从特定域注销后,我清除了所有 session (尝试了所有操作):通过将HttpContext.session [“UserDetail”] = null ;、 HttpContext.Session.Abandon()以及HttpContext.Session.Clear();清除。

但似乎没有任何作用

而且我也不太了解跨子域如何处理 session 变量。

我的意思是,如果我通过访问test1.somesite.com使用一个值初始化 session ,那么如果在同一台计算机和同一浏览器上我也打开test2.somesite.com,该值也将可见。

任何帮助请

最佳答案

听起来像一个cookie问题。尝试清除 session cookie。类似于以下内容:

if (!User.Identity.IsAuthenticated)
{
if (Request.Cookies["ASP.NET_SessionId"] != null)
{
Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddDays(-1);
}
Session.Abandon();
}

关于asp.net - 跨子域的ASP.NET MVC session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2505253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com