grails spring安全插件登录后重定向

grails spring安全插件登录后重定向,grails,Grails,在grails中,我试图在用户登录到我的person控制器后引导用户。我试图在config.groovy中添加重定向,但它不起作用。它仍然会将我重定向回登录页面 下面是我的config.grooovySpring安全部分 // Added by the Spring Security Core plugin: grails.plugins.springsecurity.userLookup.userDomainClassName = 'grail4.User' grails.plugins.sp

在grails中,我试图在用户登录到我的person控制器后引导用户。我试图在config.groovy中添加重定向,但它不起作用。它仍然会将我重定向回登录页面

下面是我的
config.grooovy
Spring安全部分

// Added by the Spring Security Core plugin:
grails.plugins.springsecurity.userLookup.userDomainClassName = 'grail4.User'
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'grail4.UserRole'
grails.plugins.springsecurity.authority.className = 'grail4.Role'

//grails.plugins.springsecurity.successHandler.defaultTargetUrl = 'https://www.yahoo.com'
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/index'

grails.plugins.springsecurity.interceptUrlMap = [



 '/people/*':   ['IS_AUTHENTICATED_REMEMBERED'],   

   ]

***grails.plugins.springsecurity.successHandler.defaultTargetUrl ="/people"***

在输入正确的用户名密码后,如果复制并粘贴URL,我可以访问person类页面。但是登录页面没有将其重定向到该页面。

以下内容应该可以工作-

 grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/people' 
看起来用户未成功通过身份验证。您应该尝试注册spring安全侦听器

  • 在Config.groovy中

    grails.plugins.springsecurity.useSecurityEventListener = true
    
  • 实现一个安全侦听器-

    class MySecurityEventListener implements ApplicationListener<ApplicationEvent> {
    static Log logger = LogFactory.getLog(CGWSecurityEventListener.class);
    
    public void onApplicationEvent(final ApplicationEvent e) {
        if (e instanceof AbstractAuthenticationEvent) {
            if (e instanceof AbstractAuthenticationFailureEvent) {
                logger.warn(String.format("Authentication failure",    ((AbstractAuthenticationFailureEvent) e).getAuthentication().principal),
                        ((AbstractAuthenticationFailureEvent) e).getException());
            }
            else if (e instanceof AuthenticationSuccessEvent) {
                logger.debug(String.format("user %s has been authenticated sucessfully", ((AuthenticationSuccessEvent) e).getAuthentication().principal))
            }
        }
    
    }
    
    类MySecurityEventListener实现ApplicationListener