【问题标题】:ASP.NET MVC 1 using persistent cookie, intercept loading of user data to include other logicASP.NET MVC 1 使用持久化 cookie,拦截加载用户数据以包含其他逻辑
【发布时间】:2009-12-22 16:19:38
【问题描述】:

我正在为默认 MVC 站点使用表单身份验证,并且我还有一个包含额外用户信息的自定义 DB 表 (LINQ2SQL)。当用户在网站上手动登录时,我有一些逻辑可以从数据库中加载额外的数据,但是当用户从上次登录时存储的持久性 cookie 中加载用户数据时,不会执行相同的逻辑。

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

【问题讨论】:

    标签: asp.net-mvc forms-authentication


    【解决方案1】:

    在您的 global.asax 中,您可以挂钩 PostAuthenticateRequest 事件。

    http://msdn.microsoft.com/en-us/library/system.web.httpapplication.postauthenticaterequest.aspx

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

    【讨论】:

    • 我尝试了您的建议,但在使用持久 cookie 时,当网站在干净的浏览器会话中加载时,该事件不会触发。用户已登录,但我的自定义代码没有执行。
    • 我已经改变了 sn-p。现在可以试试了吗?
    • 好的,但我现在的问题是会话状态尚不可用。关于我如何解决这个问题的任何想法?
    • 会话在我认为的 AcquireRequestState 事件之前没有初始化
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 2010-11-01
    • 2011-08-18
    • 2014-03-23
    • 2017-08-21
    • 1970-01-01
    相关资源
    最近更新 更多