Asp.net mvc ASP.NET MVC 1使用持久cookie,拦截加载用户数据以包含其他逻辑

Asp.net mvc ASP.NET MVC 1使用持久cookie,拦截加载用户数据以包含其他逻辑,asp.net-mvc,forms-authentication,Asp.net Mvc,Forms Authentication,我对默认的MVC站点使用Forms身份验证,我还有一个带有额外用户信息的自定义DB表(LINQ2SQL)。我有一些逻辑,当用户手动登录站点时,从db加载额外数据,但当用户数据从上次登录时存储的持久cookie加载时,不会执行相同的逻辑 用户在什么时候加载了数据?我如何在该事件期间添加自己的逻辑?在您的global.asax中,您可以挂接到PostAuthenticateRequest事件 在global.asax中,您可以挂接PostAuthenticateRequest事件 我尝试了您的建

我对默认的MVC站点使用Forms身份验证,我还有一个带有额外用户信息的自定义DB表(LINQ2SQL)。我有一些逻辑,当用户手动登录站点时,从db加载额外数据,但当用户数据从上次登录时存储的持久cookie加载时,不会执行相同的逻辑


用户在什么时候加载了数据?我如何在该事件期间添加自己的逻辑?

在您的global.asax中,您可以挂接到PostAuthenticateRequest事件


在global.asax中,您可以挂接PostAuthenticateRequest事件


我尝试了您的建议,但是当使用持久cookie时,在干净的浏览器会话中加载站点时,不会触发事件。用户已登录,但我的自定义代码未执行。我已更改代码段。你现在能试试吗?好的,这很有效,但我现在的问题是会话状态还不可用。有没有想过如何解决这个问题?会话在AcquisiteRequestState事件(我想我尝试了您的建议)之前不会初始化,但在使用持久cookie时,在干净的浏览器会话中加载站点时不会触发该事件。用户已登录,但我的自定义代码未执行。我已更改代码段。你现在能试试吗?好的,这很有效,但我现在的问题是会话状态还不可用。有没有想过如何解决这个问题?我想只有在AcquisiteRequestState事件发生后,会话才会初始化
    protected void Application_Start()
    {

    }

    protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
    {
        //do stuff with User.Identity here
    }