Как заставить User.Identity работать вне контроллера - PullRequest
16 голосов
/ 05 мая 2011

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

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

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

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

Ответы [ 2 ]

48 голосов
/ 21 апреля 2012

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

HttpContext.Current.User.Identity

Так что HttpContext.Current - это трюк.

12 голосов
/ 05 мая 2011

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

public static bool MyHelper(HtmlHelper helper)
{
    var userIdentity = helper.ViewContext.HttpContext.User.Identity;
    // more code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...