有人遇到登录失败的错误消息没有出现吗?
我正在将一个grails 1.3.7应用程序升级到grails 2.1.1,我在spring安全核心功能方面有两个问题。
首先,如果我尝试一个无效的登录,验证失败,但没有错误消息,只是在flash消息{}。
其次,我使用这样的方法来获取当前活动会话的计数。它不再是准确的,因为它只是增加,而不识别注销。
def getCurrentSessionCount(){
def sessioncount = 0
sessionRegistry.getAllPrincipals().each{
sessioncount += sessionRegistry.getAllSessions(it, false).size()
}
return sessioncount;
}
这是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>