From e22cbe1a11b9077388da72f34f2f7fd8dba55d0f Mon Sep 17 00:00:00 2001 From: Stephen Lynch Date: Wed, 25 Jun 2025 16:28:59 +0100 Subject: [PATCH] 1183 Move the configuration of the SecurityContextHolder to before the beans are defined. --- .../SpringSecurityCoreGrailsPlugin.groovy | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.groovy b/plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.groovy index 34ee55ebe..3232093d7 100644 --- a/plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.groovy +++ b/plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.groovy @@ -215,6 +215,13 @@ class SpringSecurityCoreGrailsPlugin extends Plugin { log.trace sb.toString() } + def strategyName = conf.sch.strategyName + if (strategyName instanceof CharSequence) { + SCH.strategyName = strategyName.toString() + } + log.trace 'Using SecurityContextHolder strategy {}', SCH.strategyName + + Class beanTypeResolverClass = conf.beanTypeResolverClass ?: BeanTypeResolver beanTypeResolver = beanTypeResolverClass.newInstance(conf, grailsApplication) @@ -659,11 +666,6 @@ to default to 'Annotation'; setting value to 'Annotation' applicationContext.roleHierarchy.hierarchy = roleHierarchy - def strategyName = conf.sch.strategyName - if (strategyName instanceof CharSequence) { - SCH.strategyName = strategyName.toString() - } - log.trace 'Using SecurityContextHolder strategy {}', SCH.strategyName // build filters here to give dependent plugins a chance to register some SortedMap filterNames = ReflectionUtils.findFilterChainNames(conf)