Как лучше всего получить информацию о последнем посещении пользователя в Grails? Для входа пользователя я использую весеннюю безопасность и хочу показать несколько фрагментов информации на основе даты последнего посещения. Пока у меня нет собственности в пользовательском домене. Не могли бы вы сообщить мне о различных и возможных подходах, с помощью которых я могу легко собрать вышеупомянутую информацию в приложении Grails. Другой связанный с этим вопрос: как я могу бороться с вышеупомянутой проблемой, когда пользователь закрывает окно или вкладку в браузере, не нажимая ссылку/кнопку выхода?
Каков наилучший подход к сбору/определению информации о последнем посещении в безопасности Grails/spring?
Ответы (1)
Мы закончили довольно грязно - будем рады узнать лучший способ. Мы сохраняем информацию о посещении:
- логин - в действии, на которое указывает
spring-security-redirect
; войдите в систему, "запомнить меня" - в
ApplicationListener.onApplicationEvent(appEvent)
(мы сделали сервисApplicationListener
):if (appEvent instanceof AuthenticationSuccessEvent) { if (appEvent.source instanceof RememberMeAuthenticationToken) { } }
Возможно, это место для сбора всех событий входа в систему.
- выход — в нашем собственном действии
logout
, которое перенаправляет наj_spring_security_logout
. - мы не регистрируем время ожидания сеанса.
person
Victor Sergienko
schedule
01.07.2011