0

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

我的config.grooovySpring 安全部分如下

// 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,我可以访问人员类页面。但是登录页面不会将其重定向到该页面。

4

1 回答 1

0

以下应该工作 -

 grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/people' 

看起来用户未成功通过身份验证。您应该尝试注册 spring 安全侦听器

  1. 在 Config.groovy

    grails.plugins.springsecurity.useSecurityEventListener = true
    
  2. 实现一个安全监听器——

    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))
            }
        }
    
    }
    

    }

http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/7%20Events.html#7.2%20Registering%20an%20Event%20Listener

于 2012-05-18T19:02:31.033 回答