ASP.NET MVC HttpContext Получение IdentityName после входа в систему - PullRequest
2 голосов
/ 27 ноября 2010

HttpContext.Current.User.Identity.Name возвращает значение NULL после входа в систему. Я использую IIS7.0 framework 4.0. и против 2010 года. У меня есть еще один проект, цель которого 3,5. это работает хорошо. Но targetFramework моего нового проекта 4.0. и при вызове HttpContext.Current.User.Identity.Name возвращает нуль

Ответы [ 2 ]

7 голосов
/ 27 ноября 2010

Вы должны выполнить HTTP-перенаправление после входа в систему, прежде чем сможете использовать это свойство. После перенаправления вы сможете использовать его при последующих запросах. Вот обычный шаблон:

public ActionResult LogOn()
{
    FormsAuthentication.SetAuthCookie("someuser", false);
    return RedirectToAction("foo");
}

[Authorize]
public ActionResult Foo()
{
    // use the logged in user here without problems
    string userName = User.Identity.Name;
    return View();
}
0 голосов
/ 28 ноября 2010

Другое решение заключается в использовании отражения для установки свойства User.Identity.Name на странице входа.Затем свойство устанавливается без необходимости перенаправления на другую страницу, что является своего рода хаком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...