Как сохранить сеанс с помощью общего сервера?ASP.NET / MVC - PullRequest
1 голос
/ 18 февраля 2012

В настоящее время мое веб-приложение размещено на общем сервере (asphostcentral) со следующей конфигурацией (web.config):

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" cookieless="UseCookies">

Через некоторое время сеанс истекает, пользователи перенаправляются на страницу входа и вынуждены снова вводить свои учетные данные.

Ответ, который я получил от службы поддержки:

Поскольку это общий сервер, рекомендуется не использовать состояние сеанса. Вместо этого, пожалуйста, используйте куки. То, как вы программируете cookie, очень и очень аналогичен сеансу, за исключением того, что реализация отличается.

На общем сервере на сервере есть другие сайты, которые могут повлиять на сеансы вашего сайта.

Кто-нибудь может помочь с этим? Как реализовать решение, предоставленное службой поддержки?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2012

рекомендуется не использовать состояние сеанса

Так что Ctrl + F в вашем решении и удалите все следы Session из вашего кода. Если вам необходимо сохранить некоторую информацию для пользователя, и эта информация является конфиденциальной, вы можете либо сохранить ее в базе данных и запросить ее позже, либо использовать часть userData файла cookie аутентификации. Все будет зависеть от того, как вы сейчас используете сеанс.

0 голосов
/ 19 февраля 2012

Использование куки вместо сессии - опасный совет.Пожалуйста, не принимайте это буквально.Файлы cookie могут быть прочитаны и подделаны клиентами и имеют ограничение по размеру.

Вы можете:

  1. Использовать сервер состояния сеанса ASP.NET на общем сервере.Таким образом, ваши веб-машины могут совместно использовать сеанс.
  2. Использовать липкие сеансы
  3. Удалить все использования сеанса.Вы можете либо хранить данные в базе данных, либо в файле cookie (что я не рекомендую!)

Я рекомендую по порядку эти три решения.

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