Попытка получить userID пост-аутентификации пользователя в MVC3 с использованием членства ASP.NET - PullRequest
2 голосов
/ 08 февраля 2012

Нам нужно обработать что-то конкретное, когда пользователь входит в наше веб-приложение 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 не является подходящим выбором, и я ищу подходящее событие и функцию ( время жизни и события ) без четкого ответа в поле зрения.

Неужели я действительно не в том направлении в этом направлении?Какое событие / функция лучше всего использовать для обработки этого случая?Спасибо!

1 Ответ

0 голосов
/ 15 февраля 2014

Я столкнулся с той же проблемой. У меня сработало событие global.asax Application_AuthorizeRequest вместо FormsAuthentication_OnAuthenticate.

...