title: Grails Security: how to preprocess username (to make it case-insensitive)?
body: <p>The default implementation of Spring Security treats the username as case-sensitive, I need to make it case-insensitive for usability reasons (one major reasons is users with mobile devices whose default behavior is to capitalize the first letter of an input text). This is a business requirement.</p>
  
  <p>By the time control is passed to the LoginController generated by the plugin, it's too late: Spring Security has already determined the login failed. With a debugger I can see the flow passes through <code>org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#attemptAuthentication</code> but I don't know how to intervene from Grails. In fact, the plugin uses a subclass, <code>org.codehaus.groovy.grails.plugins.springsecurity.RequestHolderAuthenticationFilter</code>, but that's inside the plugin source, not my application, so I don't know where to intervene.</p>
  
  <p>Any pointers are appreciated. 
  Thank you.</p>
  
  <p>Environment: Grails 2.3, Spring Security Plugin 1.2.7.3</p>