in plugin-acl/plugin/src/main/groovy/grails/plugin/springsecurity/acl/SpringSecurityAclGrailsPlugin.groovy [102:152]
Closure doWithSpring() {{ ->
def conf = SpringSecurityUtils.securityConfig
if (!conf || !conf.active) {
return
}
SpringSecurityUtils.loadSecondaryConfig 'DefaultAclSecurityConfig'
// have to get again after overlaying DefaultAclSecurityConfig
conf = SpringSecurityUtils.securityConfig
if (!conf.acl.active) {
return
}
Class beanTypeResolverClass = conf.beanTypeResolverClass ?: BeanTypeResolver
beanTypeResolver = beanTypeResolverClass.newInstance(conf, grailsApplication)
boolean printStatusMessages = (conf.printStatusMessages instanceof Boolean) ? conf.printStatusMessages : true
if (printStatusMessages) {
println '\nConfiguring Spring Security ACL ...'
}
if (conf.useRunAs) {
SpringSecurityUtils.registerProvider 'runAsAuthenticationProvider'
}
Map voterConfig = buildVoterConfig(conf)
debug "voterConfig: $voterConfig"
// core beans
configureCoreBeans.delegate = delegate
configureCoreBeans conf
// expression support
configureExpressionBeans.delegate = delegate
configureExpressionBeans conf
// secured beans
configureSecuredBeans.delegate = delegate
configureSecuredBeans conf
// MetadataSource
configureSecurityMetadataSource.delegate = delegate
configureSecurityMetadataSource conf, voterConfig
if (printStatusMessages) {
println '... finished configuring Spring Security ACL\n'
}
}}