Я знаю, что подобные вопросы были заданы ранее, но я не смог найти дубликат, который конкретно обрабатывает ASP.NET MVC (и аспект контроллера).
Мой вопрос таков:
В модели MVC я понимаю, что контроллер должен обрабатывать использование HttpContext, чтобы определить, кто вошел в систему, если таковые имеются. Это сделано для того, чтобы контроллер мог представить эту информацию представлению, чтобы самому представлению не приходилось выполнять эти поиски.
Есть ли какой-нибудь стандарт де-факто, как это сделать?
Моя текущая настройка выглядит следующим образом [упрощенно]
У меня есть BaseController
, который наследуют все остальные мои контроллеры.
В BaseController
я выполняю следующее переопределение:
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
ViewData["IsUserLoggedIn"] = IsUserLoggedIn; // bool property checking HttpContext.User.Identity.IsAuthenticated;
ViewData["CurrentUser"] = CurrentUser; // Property returning logged in user, or null.
}
Затем, естественно, в моих представлениях я могу проверить значения ViewData.
Как вы делаете это? Я хотел бы знать, если что-то не так с моей настройкой, и если так, что не так? Я не на 100% доволен своим решением, в основном потому, что я не слишком знаком с циклом и не уверен, поместил ли мой код в правильном месте.
Я знаю, что здесь может не быть «один ответ связывает их всех», я принимаю ответ, который предлагает наибольшее понимание.