2008-09-11 5 views
2

Моя команда работает над дерьмовым старым веб-сайтом, и большинство страниц все еще ASP классики. Тем не менее, мы недавно перенесли аутентификацию форм с использованием ASP.NET и подстановочного сопоставления. Все работает удивительно хорошо, за исключением одного: зарегистрированные пользователи слишком быстро выходят из строя. После просмотра в журналах кажется, что люди тайминга выходят ровно через 20 минут (это указанный тайм-аут из-за бездействия).Каков наилучший способ обхода времени аутентификации форм ASP.NET при использовании подстановочного сопоставления?

Итак, наша гипотеза заключается в том, что классические страницы ASP не отключают какой-либо механизм в среде проверки подлинности форм, которая сбрасывает таймер бездействия. Я googled вокруг и даже читаю сообщение подстановки подстановочного знака Великим Гу, но все еще не могу найти кого-либо еще, у кого есть эта проблема. Итак, 1) Вы когда-нибудь видели эту проблему? и 2) Какое лучшее обходное решение? (Кроме ручного размещения скрытого фрейма в каждом Janky странице ASP, который загружает немую страницу .NET в фоновом режиме)

Update: slidingExpiration установлен в истинную

Также: Мы не могут использовать бесконечные сеансы, потому что нам нужно приложение для тайм-аута после 20 минут бездействия. Кроме того, этот ужасный сайт был написан так, что интерфейс обычно хранится на странице. Нет простого кода интерфейса, в который я мог бы вставить JavaScript. Мы попытались поместить некоторые js в файл include, который был вызван примерно на 80% наших страниц, но это вызвало некоторые эзотерические проблемы с буферами загрузки файлов, поэтому нам, возможно, придется попробовать другой подход. Благодарю.

+0

У вас нет этой проблемы. У меня такой же сценарий. – Swoogan 2012-12-18 19:19:19

ответ

2

Создайте вечную сессию.

По сути, вы в конечном итоге испускаете некоторый JavaScript и тег изображения на своих основных страницах или элементах управления пользователями навигации (независимо от того, что вы используете для последовательной навигации). Этот JavaScript на некотором интервале меняет источник тега изображения на конечную точку обработчика http (некоторый .aspx, .ashx), который возвращает 1x1 pix clear gif в качестве ответа для изображения. Постоянный запрос гарантирует, что незанятые страницы сохранят сеанс.

Пока окно браузера открыто для вашей страницы, сеанс ASP.NET никогда не будет тайм-аутом.

Часто JavaScript будет ссылаться на случайное число для запроса, чтобы браузер не кэшировал запрос.

Порядочное пошаговое руководство доступно here.

0

Я предполагаю, что вы вручную создали файл cookie, и в этом случае ваше значение тайм-аута в коде, вероятно, переопределит ваше значение тайм-аута в конфигурации.

Прежде всего, если это возможно (что, вероятно, нет), не создавайте файл cookie вручную, это избавит вас от не только этой головной боли, но и десятков других.

Если вы должны вручную создать файл cookie, убедитесь, что тайм-аут, который вы используете, фактически считывает значение тайм-аута, которое вы установили в файле конфигурации, и для того, чтобы скользящий срок действия был равен true (что вы сказали, что это было) ,

Тем не менее, у нас по-прежнему возникают непредсказуемые проблемы с тайм-аутом, когда файлы cookie создаются вручную. Там, где я работаю, мы реализовали решение, позволяющее автоматически создавать файлы cookie, и тайм-ауты больше не являются проблемой; однако он создал другие проблемы, и мы были вынуждены вернуться назад.

 Смежные вопросы

  • Нет связанных вопросов^_^