grails spring security post认证

And*_*sky 2 grails grails-plugin grails-2.0

我使用spring安全核心插件.我想在用户登录后立即将对象放入会话中.到目前为止我发现的是grails.plugin.springsecurity.LoginController插件中有.并且它具有ajaxSuccess被调用的方法,它似乎在成功认证之后被调用.所以我决定创建另一个扩展默认值的LoginController并覆盖此方法:

@Secured('permitAll')
class LoginController extends grails.plugin.springsecurity.LoginController {


    def ajaxSuccess() {
        session['somevproperty'] = someValue 
        super.ajaxSuccess()
    }

}
Run Code Online (Sandbox Code Playgroud)

但调试表明从不调用此方法.出了什么问题?愿还有另一种方法可以做我想要的吗?谢谢!

Lal*_*wal 5

Spring安全性拥有自己的事件监听器.我更喜欢你用它.

http://grails-plugins.github.io/grails-spring-security-core/guide/events.html

上面链接的示例代码,用于成功登录.

package com.foo.bar

import org.springframework.context.ApplicationListener  
import org.springframework.security.authentication.event. AuthenticationSuccessEvent

class MySecurityEventListener implements ApplicationListener<AuthenticationSuccessEvent> {

      void onApplicationEvent(AuthenticationSuccessEvent event) { 
      // handle the event
      } 
}
Run Code Online (Sandbox Code Playgroud)