Подтвердить что ты не робот

Как заставить User.Identity работать вне контроллера

У меня есть отдельный проект с некоторыми моими специальными помощниками ASP.NET MVC

В одном из моих помощников мне нужно проверить идентификацию пользователя.

Как я могу заставить User.Identity работать там?

По умолчанию он живет в System.Security.Principal в интерфейсе interface IPrincipal

4b9b3361

Ответ 1

HtmlHelper имеет текущий ViewContext и через HttpContext вы получите объект User для текущего пользователя. В своем методе расширения вы можете использовать этот

public static bool MyHelper(HtmlHelper helper)
{
    var userIdentity = helper.ViewContext.HttpContext.User.Identity;
    // more code
}

Ответ 2

С легкостью вы можете получить к нему доступ:

HttpContext.Current.User.Identity

Итак, HttpContext.Current - это трюк.