In grails I am trying to direct user after login to my person controller. I tried to add redirection in config.groovy but it is not working. It still redirects me back to login page.
My config.grooovy
Spring security section is below
// 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"***
After putting right username password I can access the person class page if I copy & paste the URL. But the login page is not redirecting it to that page.
Following should work -
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/people'
Looks like user is NOT successfully authenticated. You should try registering spring security listener
in Config.groovy
grails.plugins.springsecurity.useSecurityEventListener = true
implement a security listener-
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)) } } }
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.