gpt4 book ai didi

asp.net-mvc - Linux 上的 mono 返回不同的 cookie 集

转载 作者:行者123 更新时间:2023-12-02 03:27:14 25 4
gpt4 key购买 nike

我有一个在 apache2 undo ubuntu 上的 mono 2.10.8.1 上运行的 MVC 站点。我有一项服务可以检查凭据并设置 cookie(如果一切正常)。在 Windows 中,我没有问题,只得到一个 cookie:.ASPXAUTH。但是,当我部署到 Linux 服务器时,它设置了两个 cookie ASP.NET_SessionId.MONOAUTH

我的问题是为什么在 Linux 中是两个 cookie,在 Windows 中是一个,我如何摆脱 ASP.NET_SessionId cookie?

我像这样设置cookie:

    Response.AppendCookie(BuildAuthenticationCookie(login, data));

public static HttpCookie BuildAuthenticationCookie(string login, string ticketData)
{
var authTicket = new FormsAuthenticationTicket(2, login, DateTime.Now,
DateTime.Now.AddMinutes(500), false, ticketData);
var authCookie = new HttpCookie( FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket))
{
HttpOnly = true,
Secure = SiteSettings.CookiesSslOnly,
Expires = DateTime.Now.AddMinutes(SiteSettings.AuthCookieExpirationTime)
};
return authCookie;
}

最佳答案

我认为Mono没有什么问题。事实上,您提到的两个 cookie - ASP.NET_SessionId.MONOAUTHSessionForms Authorization cookie ,这确实是不同的。
要摆脱 ASP.NET_SessionId,您可以根本不使用 session 或使用无 cookie session ( <sessionSate> on MSDN )。

注意:您还应该在 Windows 上获得两个 cookie。如果没有,则可能意味着您没有执行任何在 SessionState 中设置某些值的 MVC 操作。如果您设法找到这样的操作,您也会在 Windows 上获得两个 cookie。

关于asp.net-mvc - Linux 上的 mono 返回不同的 cookie 集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391435/

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