Где можно установить HttpContext.User? - PullRequest
0 голосов
/ 30 марта 2012

Среда: MVC3 SqlMemberShipProvider

Я добавил пустой

public void Application_AuthenticateRequest(object sender, EventArgs e) {}

в классе MvcApplication в Global.asax.cs и установите точку останова там. Он был запущен на каждой странице доступа. Отправитель имеет тип MvcApplication, который имеет свойство Пользователь и свойство Context .

Если я не вошел в систему, Пользователь и Контекст . Пользователь не имеет значения.

Если я вошел в систему, Пользователь и Context .User устанавливаются в GenericPrincipal, содержащий мое имя вошедшего в систему.

Похоже, что SqlMemberShipProvider (если не кто) устанавливает объект User. Могу ли я узнать, как / где это делается?

Спасибо.

1 Ответ

0 голосов
/ 30 марта 2012

Я полагаю, вы используете членство вместе с FormsAuthentication? Может быть, вместе с контролем входа в систему? Если вы используете FormsAuthentication, тогда FormsAuthenticationModule считывает идентификационный файл cookie из браузера, а затем создает объект IPrincipal из этого файла cookie.

...