任何遇到登录失败的错误消息的人都没有出现?
我正在将grails 1.3.7应用程序升级到grails 2.1.1,我有2个关于spring安全核心功能的问题。
首先,如果我尝试无效登录,则auth会失败但闪存消息中只有{}没有错误消息。
其次,我使用这样的方法来获取活动会话的当前计数。它不再准确,因为它只会增加并且无法识别注销。
def getCurrentSessionCount(){
def sessioncount = 0
sessionRegistry.getAllPrincipals().each{
sessioncount += sessionRegistry.getAllSessions(it, false).size()
}
return sessioncount;
}
答案 0 :(得分:1)
好吧,这就是LoginController在填充错误消息方面的差异。在1.3.7和之前的安全插件中,代码如下所示:
msg = SpringSecurityUtils.securityConfig.errors.login.expired
但对于2.1.1和升级的spring安全性插件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>