gpt4 book ai didi

c# - asp .net 核心应用程序未在 IE 和 EDGE 中设置响应 cookie,但在 firefox 和 chrome 中运行良好

转载 作者:行者123 更新时间:2023-11-30 15:54:15 27 4
gpt4 key购买 nike

我有一个带有 post 操作的登录 Controller ,它在成功登录后重定向到主页。我正在使用以下代码进行重定向,它在 Chrome 和 Firefox 中运行良好。但在 IE 和 EDGE 中不重定向,并且响应 cookie 未设置

private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToRoute("default", new { controller = "", action = "" });
}
}

我的登录操作

public IActionResult Login(string userName, string password)
{
try
{
if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password))
throw new InvalidOperationException("Username/Password can not be empty");

var session = CreateSession(userName, password);
var returnUrl = Request.Query["returnUrl"];
return RedirectToLocal(returnUrl);
}
catch (Exception ex)
{
ModelState.AddModelError("Login", ex.Message);
}

return View();
}

我正在使用我自己的 session 管理,我为其设置 session cookie,如下所示

CookieOptions option = new CookieOptions();
option.Path = AppPath;
option.Domain = AppHost;
httpContextAccessor.HttpContext.Response.Cookies.Append(AppSessionToken, "SomeSessionId", option);

最佳答案

在搜索了很多确切答案后,我发现 Internet Explorer(所有版本)不允许您指定本地主机域、本地 IP 地址或机器名称。当您这样做时,Internet Explorer 会简单地忽略 cookie。所以我删除了以下行

option.Domain = AppHost;

根据我的代码,一切都开始在 IE 和 EDGE 上按预期工作。

关于c# - asp .net 核心应用程序未在 IE 和 EDGE 中设置响应 cookie,但在 firefox 和 chrome 中运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50692588/

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