Выборочно запретить создание сессии - PullRequest
1 голос
/ 25 мая 2010

В моем приложении есть внешний монитор, который проверяет приложение каждые несколько минут и измеряет время его работы / время отклика. Каждый раз, когда подключается монитор, создается новый сеанс сервера, поэтому, когда я смотрю на количество сеансов, он всегда минимум 15, даже в периоды, когда нет реальных пользователей.

Я пытался решить эту проблему, поместив код создания сеанса в фильтр, но, похоже, это не сработало - я думаю, сеанс автоматически создается, когда пользователь открывает первую страницу?

все () { до = { if (actionName == 'signin') { def session = request.session // создает сеанс, если не существует } } }

Я могу настроить монитор для передачи параметров, если мне нужно (т. Е. http://servername.com/?nosession,, но не уверен, как убедиться, что сеанс не создан.

1 Ответ

1 голос
/ 25 мая 2010

Сейчас вы ничего не можете сделать, чтобы предотвратить создание сеанса. Смотри: http://jira.codehaus.org/browse/GRAILS-1238

К счастью, пока вы не набираете большое количество запросов в секунду, это не большая проблема. Одна вещь, которую мы сделали, чтобы обойти ложные данные в нашем отчете «в настоящее время активные пользователи», заключалась в регистрации сеансов в базе данных. Мы создаем запись сеанса только тогда, когда пользователь входит в систему. Затем по специально сопоставленным URL-адресам мы «дотронемся» до этой записи сеанса, чтобы обновить время последнего доступа. Запись сеанса отслеживает пользовательский агент, IP и т. Д. И полезна по многим причинам. Выполнение чего-то подобного позволило бы обойти фиктивное количество сеансов.

...