Peeyush Surolia
Peeyush Surolia

Reputation: 41

Grails 3.2.4 : custom authentication filter not called

While Upgrading from grails 2.5 to grails 3.x , username password authentication filter is not getting fired.

I am using spring-security core plugin 3.1.1

This is how custom Filter looks like

    class CustomAuthenticationFilter extends UsernamePasswordAuthenticationFilter {
  @Override
  protected String obtainUsername(HttpServletRequest request) {
    return (new CustomPrincipal(request.getParameter('company'), request.getParameter('username'))).toString()
  }
  @Override
  protected String obtainPassword(HttpServletRequest request) {
    return request.getParameter('password')
  }
   }

application.groovy

grails.plugin.springsecurity.filterChain.filterNames = [
    'securityContextPersistenceFilter',
    'logoutFilter',
    'customAuthenticationFilter',   
    'rememberMeAuthenticationFilter',
    'anonymousAuthenticationFilter',
    'exceptionTranslationFilter',
    'filterInvocationInterceptor'
]

resources.grrovy

customAuthenticationFilter(CustomAuthenticationFilter) {
    authenticationManager = ref('authenticationManager')
    sessionAuthenticationStrategy = ref('sessionAuthenticationStrategy')
    authenticationFailureHandler = ref('internalAuthenticationFailureHandler')
  }

Upvotes: 4

Views: 801

Answers (1)

Eshaan Kumar
Eshaan Kumar

Reputation: 69

filterNames map to be defined as shown below:

**grails.plugin.springsecurity.filterChain.filterNames**= [  
    **pattern**:'/**',
    **filters**:'securityContextPersistenceFilter',
    'logoutFilter',
    'customAuthenticationFilter',
    'rememberMeAuthenticationFilter',
    'anonymousAuthenticationFilter',
    'exceptionTranslationFilter',
    'filterInvocationInterceptor'
]

Upvotes: 0

Related Questions