Каков наилучший обходной путь для времени ожидания проверки подлинности форм ASP.NET при использовании сопоставления с подстановочными знаками? - PullRequest
2 голосов
/ 12 сентября 2008

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

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

Обновление : slideExpiration установлено на true

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

Ответы [ 2 ]

2 голосов
/ 12 сентября 2008

Создание вечного сеанса.

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

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

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

Приличное прохождение доступно здесь .

0 голосов
/ 06 января 2010

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

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

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

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

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