2016-05-26 3 views
1

У меня есть приложение grails и установлен плагин весеннего ядра. Я хочу выйти из другого зарегистрированного пользователя. Я могу получить список всех зарегистрированных пользователей с помощью sessionFactory.Grails logout другой зарегистрированный пользователь

Помощь нужна.

Пожалуйста, дайте мне подробное объяснение.

Я следил за этим thread, но я не могу выйти из системы просто просто недействительным сеансом.

ответ

1

Недействительность должна работать. Этот код 100% рабочий на Граалей 2.3.5, весна-безопасности ядра: 2.0.0

def sessions = ContextListener.instance().getSessions() 
    def sessionToInvalidate = sessions.find{it.id == someId} 
    sessionToInvalidate.invalidate() 

Update: ContextListener не стандартный класс. Однако его легко реализовать. Вы можете увидеть, как это реализовано в App Ставки Граалей плагинhere

+0

Как я прокомментировал на https://stackoverflow.com/questions/37461557/how-to-get-httpsession-from-sessionid-in-grails-application без реализации 'ContextListener', это не полезный ответ –

+0

sessionToInvalidate.invalidate() не выходит из системы. Поэтому я использовал sessionToInvalidate.setMaxInactiveInterval (1) –

0

@Taras и @Burt Благодарности

я последовал, как вы оба предложили в этом ответе. Работает нормально.

Но недействительный mothod не отменяет сеанс, а другой пользователь продолжает использовать приложение. Я не знаю, почему это странное поведение.

Так что я использовал sessionToInvalidate.setMaxInactiveInterval(1). И это работает так, как я ожидал.

Смежные вопросы