gpt4 book ai didi

asp.net-mvc - 如何更改 MVC 中的 ASP.NET_SessionId cookies 路径

转载 作者:行者123 更新时间:2023-12-05 07:16:21 26 4
gpt4 key购买 nike

我正在尝试更改 ASP.NETSessionid cookie 的路径。

我已经尝试过的代码如下。

在 Controller / Action 中

HttpCookie cookies = Response.Cookies["ASP.NET_SessionId"]; cookies.Path = "/路径";

但相同的是根本没有改变。

谁能给个建议?

最佳答案

您可能希望将 cookie 设置回响应对象:

HttpContext.Current.Response.Cookies.Add(sessionCookie);

尽管您可能希望它与 cookie 身份验证相关联(我假设您正在使用它),并且您可以通过 CookiePath 属性对其进行配置:

 app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
CookieHttpOnly = true,
AuthenticationType = "ABC",
LoginPath = new PathString("/Account/Login"),
CookiePath = "/",
CookieName = "ABC",
Provider = new CookieAuthenticationProvider
{
OnApplyRedirect = ctx =>
{
if (!IsAjaxRequest(ctx.Request))
{
ctx.Response.Redirect(ctx.RedirectUri);
}
}
}
});

还有一篇关于专门更改 cookie 不同方面的文章。您需要通过 cookie 管理器更改 cookie,否则 cookie 响应值将在下一个请求时再次由 .NET 更新:

https://devblogs.microsoft.com/aspnet/upcoming-samesite-cookie-changes-in-asp-net-and-asp-net-core/

创建您自己的 cookie 管理器,并按照您的需要编辑 cookie

app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
// … Your preexisting options …
CookieManager = new CustomPathCookieManager(new SystemWebCookieManager())
});

关于asp.net-mvc - 如何更改 MVC 中的 ASP.NET_SessionId cookies 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59266754/

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