【问题标题】:Asp.net life cycle event to change Response.CookiesAsp.net 生命周期事件改变 Response.Cookies
【发布时间】:2020-05-07 00:59:01
【问题描述】:

在 Asp.Net 中,是否有可以修改响应 Cookie 的生命周期事件?

我想要一个公共的地方,我可以在任何代码添加的所有 cookie 上设置 SameSite 标志。在该事件中,我还需要访问 HttpContext.Current.Session。

我已经尝试过 PreSendRequestHeaders、PostReleaseRequestState、PostAcquireRequestState 和 EndRequest,但它们都不起作用。

【问题讨论】:

  • 正确答案是PreSendRequestHeaders。你是什​​么意思它没有工作?
  • @JohnWu 会话在 PreSendRequestHeaders 事件中为空。
  • 不能在 web.config 中做吗? <httpCookies sameSite="Lax" httpOnlyCookies="true" /><sessionState cookieSameSite="Lax" /> 之类的东西?
  • @JohnPete22 不,因为我希望客户控制它,并且对于不同的客户可能会有所不同。

标签: asp.net .net asp.net-mvc cookies webforms


【解决方案1】:

它不能在一个事件中实现。

所以我使用 PreSendRequestHeaders 来更改 response.cookies。
它无权访问 Session 对象,但我在 Session_Start 事件的 Request.Cookies 中添加了所需的会话变量。
注意:在 Request.Cookies 中添加内容不会对响应 cookie 产生任何更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多