【问题标题】:Grails 2.1.1 and spring security messagesGrails 2.1.1 和 spring 安全消息
【发布时间】:2013-01-11 10:09:57
【问题描述】:

有人遇到登录失败的错误消息没有出现吗?

我正在将一个 grails 1.3.7 应用程序升级到 grails 2.1.1,我在 spring 安全核心功能方面遇到了 2 个问题。

首先,如果我尝试无效登录,则身份验证失败,但没有错误消息,只有 {} 在 flash 消息中。

其次,我使用这样的方法来获取当前的活动会话数。它不再准确,因为它只是增加并且无法识别注销。

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

【问题讨论】:

    标签: grails-2.1


    【解决方案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> 
    

    【讨论】:

      猜你喜欢
      • 2014-06-30
      • 2012-11-04
      • 2012-06-15
      • 2016-03-14
      • 2012-06-01
      • 2015-05-30
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多