.NET MVC - Где проверить IsInRole () в Global.asax? - PullRequest
1 голос
/ 19 июня 2010

В какой части жизненного цикла Global.asax я могу безопасно «использовать» объект User?Я использую значение по умолчанию forms authentication и заметил следующее:

Sub Application_BeginRequest()
    'Context.User Is Nothing
End Sub

Sub Application_AuthenticateRequest()
    'Context.User Is Nothing
End Sub

Sub Application_AuthorizeRequest()
    'Context.User is available
    'Context.User.IsInRole() returns false while user is in role
End Sub

Похоже, AuthorizeRequest() должно быть местом, однако IsInRole() не возвращает ожидаемое true. Я что-то здесь упускаю?

1 Ответ

3 голосов
/ 19 июня 2010

Я думаю, что вы действительно хотите сделать это в Post_AuthenticateRequest:

void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
{
    // Context.User is available now, and IsInRole() should work fine;
}
...