Grails 2.1.1 и пружинные сообщения безопасности

Кто-нибудь испытывает сообщения об ошибках при неудачных входах в систему?

Я обновляю приложение Grails 1.3.7 до версии 2.1.1, и у меня есть 2 проблемы с функциональностью ядра безопасности Spring.

Во-первых, если я попытаюсь ввести неверный логин, аутентификация завершится неудачно, но во флэш-сообщении не будет сообщения об ошибке просто {}.

Во-вторых, я использовал такой метод, чтобы получить текущее количество активных сеансов. Он больше не является точным, поскольку он просто увеличивается и не распознает выход из системы.

def getCurrentSessionCount(){
    def sessioncount = 0
    sessionRegistry.getAllPrincipals().each{
        sessioncount += sessionRegistry.getAllSessions(it, false).size()
    }
    return sessioncount;
}

1 ответ

Хорошо, это была разница в LoginController в том, как заполнялись сообщения об ошибках. В 1.3.7 и предыдущем плагине безопасности код выглядит так:

msg = SpringSecurityUtils.securityConfig.errors.login.expired

но для 2.1.1 и обновленного весеннего плагина безопасности 1.2.7.3 код должен использовать такой контекст:

msg = g.message(code: "springSecurity.errors.login.disabled")

Счетчик сеансов связан с модификацией файла web.xml, которую необходимо внести для добавления прослушивателя сеанса, однако в новой версии Spring 3.0 он был перемещен, поэтому новая запись должна выглядеть следующим образом:

<listener>
    <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener> 
Другие вопросы по тегам