Closure doWithSpring()

in plugin-ui/plugin/src/main/groovy/grails/plugin/springsecurity/ui/SpringSecurityUiGrailsPlugin.groovy [50:89]


	Closure doWithSpring() {{ ->

		def conf = SpringSecurityUtils.securityConfig
		if (!conf || !conf.active) {
			return
		}

		boolean printStatusMessages = (conf.printStatusMessages instanceof Boolean) ? conf.printStatusMessages : true

		if (printStatusMessages) {
			println '\nConfiguring Spring Security UI ...'
		}

		SpringSecurityUtils.loadSecondaryConfig 'DefaultUiSecurityConfig'

		def serviceRef = { springSecurityUiService = ref('springSecurityUiService') }
		uiAclStrategy DefaultAclStrategy, serviceRef
		uiErrorsStrategy DefaultErrorsStrategy, serviceRef
		uiPersistentLoginStrategy DefaultPersistentLoginStrategy, serviceRef
		uiPropertiesStrategy DefaultPropertiesStrategy, serviceRef
		uiQueryStrategy DefaultQueryStrategy, serviceRef
		uiRegistrationCodeStrategy DefaultRegistrationCodeStrategy, serviceRef
		uiRequestmapStrategy DefaultRequestmapStrategy, serviceRef
		uiRoleStrategy DefaultRoleStrategy, serviceRef
		uiUserStrategy DefaultUserStrategy, serviceRef

		uiMailStrategy(MailPluginMailStrategy) { bean ->
			// can't explicitly add a dependency for the mailService bean (mailService = ref('mailService'))
			// since the mail plugin might not be installed
			bean.autowire = 'byName'
		}

		springSecurityUiInterceptor(SpringSecurityUiInterceptor) {
			uiPropertiesStrategy = ref('uiPropertiesStrategy')
		}

		if (printStatusMessages) {
			println '... finished configuring Spring Security UI\n'
		}
	}}