ASP.NET MVC поиск текущего имени пользователя в пользовательском фильтре действий


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

В методе OnActionExecuting().

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

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

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

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

1 18

1 ответ:

string userName = filterContext.HttpContext.User.Identity.Name;

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

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