尝试使用ASP.NET成员资格在MVC3中获取用户的userID后验证

时间:2012-02-08 07:17:25

标签: asp.net-mvc forms-authentication

当用户登录我们的MVC3网络应用程序时,我们需要处理特定的内容,因此它在global.asax.cs中连接如下:

    public void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs args)
    {
        if (args.Context.Request.LogonUserIdentity != null)
        {
            MembershipUser mu = Membership.GetUser();
            // blah blah ... kick off something special
            // for logged in users here
        }
    }

现在我得到了例外

System.InvalidOperationException: This method can only be called after the authentication event.

args.Context.Request.LogonUserIdentity != null行,以避免绊倒Membership.GetUser();我怀疑选择使用FormsAuthentication_OnAuthenticate不是一个合适的选择,我正在寻找适当的事件和功能(lifetime and events)没有明确的答案。

我真的偏离了这个方向吗?处理此案例的最佳事件/功能是什么?谢谢!

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。使用global.asax事件Application_AuthorizeRequest而不是FormsAuthentication_OnAuthenticate为我工作。