При настройке ColdFusion сеанса внутри application.cfm
или application.cfc
файла можно определить sessionTimeout
как:Какие действия вызывают продление сеанса Coldfusion?
<cfapplication name = "appname"
sessionTimeout = #CreateTimeSpan(0, 0, 30, 0)# <!--- 30min timeout --->
sessionManagement = "yes">
Я думаю, что ColdFusion сеанс «продлен» или «возобновлен» каждый раз, когда:
- пользователь переходит на новый ColdFusion шаблона (.cfm файл)
- пользователь обновляет Coldfusion шаблона (.cfm файл)
- пользователь обращается к Col dFusion Component (файл .cfc) любым способом, в том числе через вызовы ajax, которые запускают
cffunction
в файле .cfc.
Другими словами, если пользователь выполняет любое из действий выше (при условии, sessionTimeout
30 минут, как в приведенном выше примере) сессии истекает через 30 минут с момента, когда было выполнено действие - по существу, «расширение» срок службы сеанса до значения sessionTimeout
каждый раз, когда пользователь выполняет одно из этих действий.
Правильно ли это понимание? Есть ли какие-либо действия, которые «продлевают» сеанс ColdFusion, который мне не хватает? Могут ли те, которые я перечисляю, действительно вести себя так, как я думаю, они ведут себя и «расширяют» сеанс?
Чтобы лучше понять, подумайте о терминах клиент/сервер и поддерживайте состояние в среде без состояния, например, http-запросах. Если клиент является браузером, удалите файлы cookie, и в этот момент вы потеряли свою сессию. Сервер больше не знает, кто вы. –
Да, именно так ColdFusion знает, к комкому пользователю будет привязываться его переменные сеанса на стороне сервера. По умолчанию, после заданного сервером времени ColdFusion считает, что сеанс, связанный с файлом cookie, слишком старый/истек. Существует несколько действий, которые перезапускают сеанс 'sessionTimeout' обратно к исходному' sessionTimeout' (aka 'renew' it), например, обновлять страницу cfm (которая обрабатывается сервером перед отправкой в виде HTML/JS), посещая новая страница cfm (также попадает на сервер) и доступ к cfc (также попадает на сервер.) Мне просто интересно, не пропустил ли я какой-либо. – Ectropy
Похоже, что (по умолчанию) в ColdFusion все, что попадает на сервер, дает сеансу немного больше времени, чтобы «жить». – Ectropy