gpt4 book ai didi

asp.net - Firefox 不接受 ASP.NET 身份验证 cookie

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

在将我们的应用程序部署到 QA 环境时,我在使用 Firefox 浏览器时遇到了这个问题。我们有一个带有表单例份验证的 ASP.NET 4 应用程序。在我们的应用程序中,我们有 2 个 cookie:1 个用于身份验证票证,另一个用于其他信息。问题是:每次我使用 Firefox 登录系统时,都会跳回登录页面。当我使用 Fiddle 调查这个问题时,我发现出于某种原因 Firefox 不“接受”我们的 cookie: 对登录页面的第一个请求,我们的服务器在 header 中返回 cookie 就好了:

Set-Cookie: .ASPXAUTH_Imp=...; expires=Thu, 07-Jun-2012 06:37:24 GMT; path=/
Set-Cookie: .ASPXAUTH=...; expires=Wed, 06-Jun-2012 09:57:24 GMT; path=/

但是,在下一个响应中,我们的 cookie 不会出现在请求 header 中。此问题不会发生在任何其他浏览器(IE、Chrome 等)中。在其他浏览器中,cookie 被接受并在下一个请求中传递。

当我查看存储在 Firefox 中的 cookie 时,我可以看到我的网站,但它只有 ASP.NET_sessionID cookie。没有其他 2 block cookies 的踪迹。更有趣的一点是这个问题只发生在 QA 环境中(具有 LAN IP 10.16.x.x。我尝试使用问题仍然存在的机器名称)。当我使用 localhost 在 Visual Studio 中调试时,它工作得很好。这是我向客户端发送 Cookie 的代码:

' ASP.NET authentication cookie '
Dim cookieExpiration As DateTime = DateTime.Now.AddMinutes(Constants.WebSettingsConst.TimeOut)
Dim authenticationTicket = New FormsAuthenticationTicket(2, CurrentContext.UserContextID(), DateTime.Now, cookieExpiration, True, String.Empty, FormsAuthentication.FormsCookiePath)
Dim encryptedTicket As String = FormsAuthentication.Encrypt(authenticationTicket)
Dim authCookie = New HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket)
authCookie.Expires = authenticationTicket.Expiration
authCookie.Path = FormsAuthentication.FormsCookiePath
'HttpContext.Current.Response.Cookies.Remove(FormsAuthentication.FormsCookieName)'
HttpContext.Current.Response.Cookies.Add(authCookie)

最佳答案

这听起来很明显,但是您是否检查过 FireFox 中的 cookie 设置。如果您进入隐私并选择使用自定义历史记录,您可以指定不接受来自第三方或仅来自特定站点的 cookie。

我和你做的完全一样,没有问题。

Dim authTicket As New FormsAuthenticationTicket(1, userIdentity, Date.Now, _     
Date.Now.AddMinutes(15), False, userData)
Dim encTicket As String = FormsAuthentication.Encrypt(authTicket)
Dim faCookie As New HttpCookie(FormsAuthentication.FormsCookieName, encTicket)
Response.Cookies.Add(faCookie)

关于asp.net - Firefox 不接受 ASP.NET 身份验证 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10910951/

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