У меня есть переопределение для контроллера, который проверяет, существуют ли определенные данные сеанса. Эти данные необходимы для правильной работы репозитория, поэтому, если они не существуют, после проверки пользователь должен выйти из системы.
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
if (Session["CompanyID"] != null)
{
repo.CompanyID = (long)Session["CompanyID"];
}
else
{
RedirectToAction("LogOff", "Account");
}
}
Мой код выглядит так, но даже когда вызывается RedirectToAction, контроллер по-прежнему открывает действие по умолчанию, и пользователь не выходит из системы. Можете ли вы порекомендовать, как справиться с этой проблемой?
Я использую эти данные сеанса таким образом, потому что это первое место, о котором я могу узнать, и здесь я могу проверить, существуют ли эти конкретные данные. Пишется при входе пользователя.
Эти данные являются частью пользователя в базе данных. Я создал пользовательское членство и поставщик ролей. Есть ли способ каким-то образом добавить эти данные в «Пользователь» типа MembershipUser, чтобы к ним можно было получить доступ в конструкторе, например, к имени пользователя?