Каков наилучший подход к сбору/определению информации о последнем посещении в безопасности Grails/spring?

Как лучше всего получить информацию о последнем посещении пользователя в Grails? Для входа пользователя я использую весеннюю безопасность и хочу показать несколько фрагментов информации на основе даты последнего посещения. Пока у меня нет собственности в пользовательском домене. Не могли бы вы сообщить мне о различных и возможных подходах, с помощью которых я могу легко собрать вышеупомянутую информацию в приложении Grails. Другой связанный с этим вопрос: как я могу бороться с вышеупомянутой проблемой, когда пользователь закрывает окно или вкладку в браузере, не нажимая ссылку/кнопку выхода?


person Rehman    schedule 01.07.2011    source источник


Ответы (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