Зависит.
Использование сеанса для входа в систему небезопасно, поскольку не является долговременным.Один Recycle и пуф, ваша сессия прошла.
Что я делаю, так это сохраняю непоследовательные данные, такие как имя и фамилия пользователя или некоторые кэшированные данные о них, в сеансе, поэтому мне не нужно запрашивать базу данных об этом.Обычно то, что я делаю, - это логика в части входа приложения, которая выдает эту полезную информацию в сеанс.Затем в методе Initialize я вызываю ту же логику, чтобы убедиться, что информация о сеансе доступна.Если это не так, я добавляю его обратно.
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
if( Session["MyIdentityDTOKey"] == null )
GoThrowThingsInTheSession();
base.Initialize(requestContext);
}
Время ожидания не должно иметь значения, потому что, если они не могут войти в приложение, они все равно не могут видеть свою сессию.Но если вы настаиваете, вы всегда можете использовать метод Session.Timeout , чтобы он истек одновременно.