修改org.codehaus.groovy.grails.plugins.springsecurity.GrailsDaoImpl的loadUserByUsername方法
UserDetails loadUserByUsername(String username, boolean loadRoles)
throws UsernameNotFoundException, DataAccessException {
if (authenticateService.securityConfig.security.useNtlm) {
username = username.toLowerCase()
}
username = username.replaceAll("[^0-9a-zA-Z@.]","");
GrailsWebApplicationObjectSupport.SessionContainer container = setUpSession()
try {
def user = loadDomainUser(username, container.session)
GrantedAuthority[] authorities = loadAuthorities(user, username, loadRoles)
return createUserDetails(
username, user."$passwordFieldName", user."$enabledFieldName",
authorities, user)
}
finally {
releaseSession(container)
}
}