Получить список зарегистрированных в данный момент пользователей в приложении Grails 3 с основным плагином Spring Security - PullRequest
0 голосов
/ 19 марта 2019

Я запускаю веб-приложение grails (Grails версия 3.3.9) со следующими двумя плагинами: spring-security-core: 3.2.3 и spring-security-ui: 3.1.2 Я хотел бы просмотреть в контроллере список пользователей, которые в настоящее время вошли в систему. Я попробовал методы, предложенные здесь: https://classpattern.com/spring-security-sessionregistry-on-grails http://krixisolutions.com/find-logged-users-grails-application/ но это не работает для меня. Я думаю, что эти подходы работали с более ранними версиями Grails?

В частности, в resources.groovy, у меня есть следующее:

import org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy
import org.springframework.security.web.session.ConcurrentSessionFilter
import org.springframework.security.core.session.SessionRegistryImpl
import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy

beans = {

    sessionRegistry(SessionRegistryImpl)

    sessionAuthenticationStrategy(ConcurrentSessionControlStrategy, sessionRegistry) {
        maximumSessions = -1
    }

    concurrentSessionFilter(ConcurrentSessionFilter){
        sessionRegistry = sessionRegistry
        expiredUrl = '/login/concurrentSession'
    }
} 

Но когда я пытаюсь скомпилировать, выдает ошибку:

unable to resolve class org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy.

Я обнаружил на веб-сайте, что ConcurrentSessionControlStrategy устарел, поэтому я заменил его на org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy (также в бине), но теперь он выдает мне ошибку:

Error creating bean with name 'concurrentSessionFilter': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.security.web.session.ConcurrentSessionFilter]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.springframework.security.web.session.ConcurrentSessionFilter.<init>()

Может ли кто-нибудь предоставить мне пошаговое руководство, как это сделать с помощью Grails 3 и текущих плагинов безопасности для пружин?

Спасибо !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...