ASP.NET MVC находит текущее имя пользователя в фильтре настраиваемых действий - PullRequest
18 голосов
/ 19 октября 2011

Я создаю фильтр пользовательских действий для asp.net MVC.

В методе OnActionExecuting().

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    string userName =  ?????// how can I get this?
}   

Мне нужно узнать имя текущего пользователя (я использую аутентификацию по формам)

В контроллере я могу просто сделать User.Identity.Name

Есть ли способ получить имя пользователя в ActionFilter?

1 Ответ

42 голосов
/ 19 октября 2011
string userName = filterContext.HttpContext.User.Identity.Name;

А если вы хотите проверить, есть ли сначала аутентифицированный пользователь:

string userName = null;
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
    userName = filterContext.HttpContext.User.Identity.Name;
}
...