【问题标题】:Where in the Web Forms lifecycle can I re-authenticate a user?我可以在 Web 表单生命周期的哪个位置重新验证用户身份?
【发布时间】:2010-01-15 04:50:42
【问题描述】:

情况是这样的 - 大多数带有表单身份验证的 ASP.NET Web 表单应用程序(对所有页面都使用一个母版页)具有标准的会话超时,但是我们在某些“模式”中存储了编码的 cookie将用户链接到他们的帐户。

我想在页面生命周期的早期手动检查 cookie,如果满足某些条件,手动重新建立用户的身份验证票证/会话

最好的地方是哪里?母版页 Page_Init? Global.asax BeginRequest?

【问题讨论】:

    标签: asp.net webforms forms-authentication


    【解决方案1】:

    HttpModule 是最好的地方。

    BeginRequest 可能是正确的位置(在 Global.asax 或自定义 HttpModule 中),因为根据您的描述,它听起来应该在 AuthenticateRequest 之前运行,这是生命周期中的下一个事件。

    如果您等到Page_Init,或与页面相关的任何其他事件,则生命周期中的身份验证步骤已经发生。

    【讨论】:

    • BeginRequest 是最简单的地方。 Masterpage.Page_Init 不适用于不使用该母版页的页面,例如弹出窗口或 AJAX 调用。
    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 2011-07-09
    • 2023-03-12
    • 1970-01-01
    • 2016-05-03
    • 2019-03-18
    • 2010-10-27
    • 2011-07-10
    相关资源
    最近更新 更多