This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/grails-spring-security.git
The following commit(s) were added to refs/heads/gh-pages by this push:
new a795e22c4 Deploying to documentation branch - 12:01:26
a795e22c4 is described below
commit a795e22c4527da0a928a50eacf39b2016ac02656
Author: jdaugherty <[email protected]>
AuthorDate: Sat Feb 21 12:01:26 2026 +0000
Deploying to documentation branch - 12:01:26
---
snapshot/acl-plugin/guide/index.html | 2 +-
snapshot/cas-plugin/guide/index.html | 2 +-
.../core-plugin/groovydoc/allclasses-frame.html | 1 +
.../SecurityAutoConfigurationExcluder.html | 403 +++++++++++++++++++++
.../plugin/springsecurity/package-frame.html | 2 +-
.../plugin/springsecurity/package-summary.html | 9 +
snapshot/core-plugin/groovydoc/index-all.html | 14 +
snapshot/core-plugin/guide/index.html | 26 +-
snapshot/ldap-plugin/guide/index.html | 2 +-
snapshot/oauth2-plugin/guide/index.html | 2 +-
snapshot/rest-plugin/guide/index.html | 2 +-
snapshot/ui-plugin/guide/index.html | 2 +-
12 files changed, 458 insertions(+), 9 deletions(-)
diff --git a/snapshot/acl-plugin/guide/index.html
b/snapshot/acl-plugin/guide/index.html
index b2a797f9f..b2687a0fe 100644
--- a/snapshot/acl-plugin/guide/index.html
+++ b/snapshot/acl-plugin/guide/index.html
@@ -2534,7 +2534,7 @@ the body content
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js"></script>
diff --git a/snapshot/cas-plugin/guide/index.html
b/snapshot/cas-plugin/guide/index.html
index a09f20124..efe52c903 100644
--- a/snapshot/cas-plugin/guide/index.html
+++ b/snapshot/cas-plugin/guide/index.html
@@ -814,7 +814,7 @@ body.book #toc,body.book #preamble,body.book
h1.sect0,body.book .sect1>h2{page-b
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js"></script>
diff --git a/snapshot/core-plugin/groovydoc/allclasses-frame.html
b/snapshot/core-plugin/groovydoc/allclasses-frame.html
index b3ed4001d..304c8faf8 100644
--- a/snapshot/core-plugin/groovydoc/allclasses-frame.html
+++ b/snapshot/core-plugin/groovydoc/allclasses-frame.html
@@ -93,6 +93,7 @@
<li><a
href="grails/plugin/springsecurity/web/access/intercept/RequestmapFilterInvocationDefinition.html"
title="class in grails.plugin.springsecurity.web.access.intercept"
target="classFrame">RequestmapFilterInvocationDefinition</a></li>
<li><a href="grails/plugin/springsecurity/annotation/Secured.html"
title="annotation type in grails.plugin.springsecurity.annotation"
target="classFrame">Secured</a></li>
<li><a
href="grails/plugin/springsecurity/annotation/SecuredClosureDelegate.html"
title="class in grails.plugin.springsecurity.annotation"
target="classFrame">SecuredClosureDelegate</a></li>
+<li><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html"
title="class in grails.plugin.springsecurity"
target="classFrame">SecurityAutoConfigurationExcluder</a></li>
<li><a href="grails/plugin/springsecurity/SecurityConfigType.html" title="enum
in grails.plugin.springsecurity" target="classFrame">SecurityConfigType</a></li>
<li><a href="grails/plugin/springsecurity/SecurityEventListener.html"
title="class in grails.plugin.springsecurity"
target="classFrame">SecurityEventListener</a></li>
<li><a href="grails/plugin/springsecurity/SecurityFilterPosition.html"
title="enum in grails.plugin.springsecurity"
target="classFrame">SecurityFilterPosition</a></li>
diff --git
a/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html
b/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html
new file mode 100644
index 000000000..858f0b351
--- /dev/null
+++
b/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html
@@ -0,0 +1,403 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<!-- **************************************************************** -->
+<!-- * PLEASE KEEP COMPLICATED EXPRESSIONS OUT OF THESE TEMPLATES, * -->
+<!-- * i.e. only iterate & print data where possible. Thanks, Jez. * -->
+<!-- **************************************************************** -->
+
+<html>
+<head>
+ <!-- Generated by groovydoc (4.0.30) -->
+ <title>SecurityAutoConfigurationExcluder (Grails Spring Security Core
Plugin - 7.0.2-SNAPSHOT)</title>
+
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <link href="../../../groovy.ico" type="image/x-icon" rel="shortcut icon">
+ <link href="../../../groovy.ico" type="image/x-icon" rel="icon">
+ <link rel="stylesheet" type="text/css" href="../../../stylesheet.css"
title="Style">
+
+<body class="center">
+<script type="text/javascript"><!--
+if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SecurityAutoConfigurationExcluder (Grails Spring
Security Core Plugin - 7.0.2-SNAPSHOT)";
+}
+//-->
+</script>
+<noscript>
+ <div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+ <!-- -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a
name="navbar_top_firstrow">
+ <!-- -->
+</a>
+ <ul class="navList" title="Navigation">
+ <li><a href="../../../overview-summary.html">Overview</a></li>
+ <li><a href="package-summary.html">Package</a></li>
+ <li class="navBarCell1Rev">Class</li>
+ <li><a href="../../../deprecated-list.html">Deprecated</a></li>
+ <li><a href="../../../index-all.html">Index</a></li>
+ <li><a href="../../../help-doc.html">Help</a></li>
+ </ul>
+</div>
+
+<div class="subNav">
+ <div>
+ <ul class="navList">
+ <li><a
href="../../../index.html?grails/plugin/springsecurity/SecurityAutoConfigurationExcluder"
target="_top">Frames</a></li>
+ <li><a href="SecurityAutoConfigurationExcluder.html"
target="_top">No Frames</a></li>
+ </ul>
+ </div>
+ <div>
+ <ul class="subNavList">
+ <li>Summary: </li>
+ Nested Field <li><a
href="#property_summary">Property</a></li> <li><a
href="#constructor_summary">Constructor</a></li> <li><a
href="#method_summary">Method</a></li>
+ </ul>
+ <ul class="subNavList">
+ <li> | Detail: </li>
+ Field <li><a
href="#prop_detail">Property</a></li> <li><a
href="#constructor_detail">Constructor</a></li> <li><a
href="#method_detail">Method</a></li>
+ </ul>
+ </div>
+ <a name="skip-navbar_top">
+ <!-- -->
+ </a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+
+ <div class="subTitle">Package:
<strong>grails.plugin.springsecurity</strong></div>
+
+ <h2 title="[Groovy] Class SecurityAutoConfigurationExcluder"
class="title">[Groovy] Class SecurityAutoConfigurationExcluder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><ul
class="inheritance"></ul></li><li>grails.plugin.springsecurity.SecurityAutoConfigurationExcluder
+</ul>
+<div class="description">
+ <ul class="blockList">
+ <li class="blockList">
+
+ <dl>
+ <dt>All Implemented Interfaces and Traits:</dt>
+ <dd><a
href='../../../org.springframework.boot.autoconfigure.AutoConfigurationImportFilter.html'>AutoConfigurationImportFilter</a>,
<a
href='../../../org.springframework.context.EnvironmentAware.html'>EnvironmentAware</a></dd>
+ </dl>
+
+
+ <!-- todo: direct known subclasses -->
+ <hr>
+
+<pre>@groovy.transform.CompileStatic
+class SecurityAutoConfigurationExcluder
+extends java.lang.Object
+implements <a
href='../../../org.springframework.boot.autoconfigure.AutoConfigurationImportFilter.html'>AutoConfigurationImportFilter</a>,
<a
href='../../../org.springframework.context.EnvironmentAware.html'>EnvironmentAware</a></pre>
+
+ <p> Automatically excludes Spring Boot security auto-configuration classes
that
+ conflict with the Grails Spring Security plugin.
+
+ <p>When the Grails Spring Security plugin is on the classpath, Spring Boot's
+ security auto-configurations (e.g. <CODE>SecurityAutoConfiguration</CODE>,
+ <CODE>SecurityFilterAutoConfiguration</CODE>) create duplicate
+ <CODE>SecurityFilterChain</CODE> beans and other security infrastructure that
+ conflicts with the plugin's own bean definitions in
+ <a
href='../../../grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.html#doWithSpring'
title='SpringSecurityCoreGrailsPlugin.doWithSpring'>SpringSecurityCoreGrailsPlugin.doWithSpring</a>.</p>
+
+ <p>Previously, users had to manually exclude up to 7 auto-configuration
classes
+ in <CODE>application.yml</CODE>. This filter removes that requirement by
+ automatically filtering them out during Spring Boot's auto-configuration
+ discovery phase.</p>
+
+ <p>To disable this filter and allow Spring Boot's security auto-configurations
+ to run, set the following property in <CODE>application.yml</CODE>:</p>
+
+ <pre>
+ grails:
+ plugin:
+ springsecurity:
+ excludeSpringSecurityAutoConfiguration: false
+ </pre>
+
+ <p>Registered via <CODE>META-INF/spring.factories</CODE> as an
+ AutoConfigurationImportFilter. This runs before auto-configuration
+ bytecode is loaded, so there is no performance overhead from excluded
classes.</p> <DL><DT><B>Since:</B></DT><DD>7.0.2</DD></DL><DL><DT><B>See
Also:</B></DT><DD>AutoConfigurationImportFilter</DD></DL></p>
+
+ </li>
+ </ul>
+</div>
+
+<div class="summary">
+ <ul class="blockList">
+ <li class="blockList">
+ <!-- =========== NESTED CLASS SUMMARY =========== -->
+
+
+ <!-- =========== ENUM CONSTANT SUMMARY =========== -->
+
+ <!-- =========== FIELD SUMMARY =========== -->
+
+
+ <!-- =========== PROPERTY SUMMARY =========== -->
+
+ <ul class="blockList">
+ <li class="blockList"><a name="property_summary"><!-- --></a>
+ <h3>Properties Summary</h3>
+ <ul class="blockList">
+ <table class="overviewSummary" border="0" cellpadding="3"
cellspacing="0" summary="Properties Summary table, listing nested classes, and
an explanation">
+ <caption><span>Properties</span><span
class="tabEnd"> </span></caption>
+ <tr>
+ <th class="colFirst" scope="col">Type</th>
+ <th class="colLast" scope="col">Name and
description</th>
+ </tr>
+
+ <tr class="altColor">
+ <td
class="colFirst"><code><strong>static java.lang.String</strong></code> </td>
+ <td class="colLast"><code><a
href="#ENABLED_PROPERTY">ENABLED_PROPERTY</a></code><br></td>
+ </tr>
+
+ </table>
+ </ul>
+ </li>
+
+ </ul>
+
+
+ <!-- =========== ELEMENT SUMMARY =========== -->
+
+
+
+ <!-- ======== CONSTRUCTOR SUMMARY ======== -->
+ <ul class="blockList">
+ <li class="blockList"><a name="constructor_summary"><!--
--></a>
+ <h3>Constructor Summary</h3>
+ <ul class="blockList">
+ <table class="overviewSummary" border="0" cellpadding="3"
cellspacing="0" summary="Constructors Summary table">
+ <caption><span>Constructors</span><span
class="tabEnd"> </span></caption>
+ <tr>
+ <th class="colFirst" scope="col">Constructor and
description</th>
+ </tr>
+
+ <tr class="altColor">
+ <td class="colFirst">
+ <code><strong><a
href="#SecurityAutoConfigurationExcluder()">SecurityAutoConfigurationExcluder</a></strong>()</code><br></td>
+ </tr>
+
+ </table>
+ </ul>
+ </li>
+ </ul>
+
+
+
+ <!-- ========== METHOD SUMMARY =========== -->
+ <ul class="blockList">
+
+ <li class="blockList"><a name="method_summary"><!-- --></a>
+ <h3>Methods Summary</h3>
+ <ul class="blockList">
+ <table class="overviewSummary" border="0" cellpadding="3"
cellspacing="0" summary="Methods Summary table">
+ <caption><span>Methods</span><span
class="tabEnd"> </span></caption>
+ <tr>
+ <th class="colFirst" scope="col">Type Params</th>
+ <th class="colLast" scope="col">Return Type</th>
+ <th class="colLast" scope="col">Name and
description</th>
+ </tr>
+
+ <tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td
class="colLast"><code>static java.util.Set<java.lang.String></code></td>
+ <td class="colLast"><code><strong><a
href="#getExcludedAutoConfigurations()">getExcludedAutoConfigurations</a></strong>()</code><br>Returns
the set of auto-configuration class names that this filter excludes.
+ </td>
+ </tr>
+
+ <tr class="rowColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>boolean[]</code></td>
+ <td class="colLast"><code><strong><a
href="#match(java.lang.String,
org.springframework.boot.autoconfigure.AutoConfigurationMetadata)">match</a></strong>(java.lang.String[]
autoConfigurationClasses, <a
href='../../../org.springframework.boot.autoconfigure.AutoConfigurationMetadata.html'>AutoConfigurationMetadata</a>
autoConfigurationMetadata)</code><br></td>
+ </tr>
+
+ <tr class="altColor">
+ <td class="colFirst"><code></code></td>
+ <td class="colLast"><code>void</code></td>
+ <td class="colLast"><code><strong><a
href="#setEnvironment(org.springframework.core.env.Environment)">setEnvironment</a></strong>(<a
href='../../../org.springframework.core.env.Environment.html'>Environment</a>
environment)</code><br></td>
+ </tr>
+
+ </table>
+ </ul>
+ </li>
+
+ <li class="blockList"><a name="method_summary"><!-- --></a>
+ <h3>Inherited Methods Summary</h3>
+ <ul class="blockList">
+ <table class="overviewSummary" border="0" cellpadding="3"
cellspacing="0" summary="Inherited Methods Summary table">
+ <caption><span>Inherited Methods</span><span
class="tabEnd"> </span></caption>
+ <tr>
+ <th class="colFirst" scope="col">Methods inherited
from class</th>
+ <th class="colLast" scope="col">Name</th>
+ </tr>
+
+ <tr class="altColor">
+ <td class="colFirst"><code>class
java.lang.Object</code></td>
+ <td
class="colLast"><code>java.lang.Object#equals(java.lang.Object),
java.lang.Object#getClass(), java.lang.Object#hashCode(),
java.lang.Object#notify(), java.lang.Object#notifyAll(),
java.lang.Object#toString(), java.lang.Object#wait(),
java.lang.Object#wait(long), java.lang.Object#wait(long, int)</code></td>
+ </tr>
+ </table>
+ </ul>
+ </li>
+
+ </ul>
+
+ </li>
+ </ul>
+</div>
+
+<div class="details">
+ <ul class="blockList">
+ <li class="blockList">
+
+
+
+
+
+ <!-- =========== PROPERTY DETAIL =========== -->
+ <ul class="blockList">
+ <li class="blockList"><a name="prop_detail">
+ <!-- -->
+ </a>
+ <h3>Property Detail</h3>
+
+ <a name="ENABLED_PROPERTY"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>static final java.lang.String
<strong>ENABLED_PROPERTY</strong></h4>
+ <p></p>
+ </li>
+ </ul>
+
+ </li>
+ </ul>
+
+
+
+
+
+ <!-- =========== CONSTRUCTOR DETAIL =========== -->
+ <ul class="blockList">
+ <li class="blockList"><a name="constructor_detail">
+ <!-- -->
+ </a>
+ <h3>Constructor Detail</h3>
+
+ <a name="SecurityAutoConfigurationExcluder()"><!--
--></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+
<h4><strong>SecurityAutoConfigurationExcluder</strong>()</h4>
+ <p></p>
+ </li>
+ </ul>
+
+ </li>
+ </ul>
+
+
+
+
+ <!-- =========== METHOD DETAIL =========== -->
+ <ul class="blockList">
+ <li class="blockList"><a name="method_detail">
+ <!-- -->
+ </a>
+ <h3>Method Detail</h3>
+
+ <a name="getExcludedAutoConfigurations()"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+
<h4>static java.util.Set<java.lang.String>
<strong>getExcludedAutoConfigurations</strong>()</h4>
+ <p> Returns the set of auto-configuration
class names that this filter excludes.
+ Exposed for testing and diagnostic purposes.
<DL><DT><B>Returns:</B></DT><DD>unmodifiable set of excluded class
names</DD></DL></p>
+ </li>
+ </ul>
+
+ <a name="match(java.lang.String,
org.springframework.boot.autoconfigure.AutoConfigurationMetadata)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>boolean[]
<strong>match</strong>(java.lang.String[] autoConfigurationClasses, <a
href='../../../org.springframework.boot.autoconfigure.AutoConfigurationMetadata.html'>AutoConfigurationMetadata</a>
autoConfigurationMetadata)</h4>
+ <p></p>
+ </li>
+ </ul>
+
+ <a
name="setEnvironment(org.springframework.core.env.Environment)"><!-- --></a>
+ <ul class="blockListLast">
+ <li class="blockList">
+ <h4>@java.lang.Override<br>void
<strong>setEnvironment</strong>(<a
href='../../../org.springframework.core.env.Environment.html'>Environment</a>
environment)</h4>
+ <p></p>
+ </li>
+ </ul>
+
+ </li>
+ </ul>
+
+ </li>
+ </ul>
+</div>
+
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+ <!-- -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a
name="navbar_bottom_firstrow">
+ <!-- -->
+</a>
+ <ul class="navList" title="Navigation">
+ <li><a href="../../../overview-summary.html">Overview</a></li>
+ <li><a href="package-summary.html">Package</a></li>
+ <li class="navBarCell1Rev">Class</li>
+ <li><a href="../../../deprecated-list.html">Deprecated</a></li>
+ <li><a href="../../../index-all.html">Index</a></li>
+ <li><a href="../../../help-doc.html">Help</a></li>
+ </ul>
+</div>
+
+<div class="subNav">
+ <div>
+ <ul class="navList">
+ <li><a
href="../../../index.html?grails/plugin/springsecurity/SecurityAutoConfigurationExcluder"
target="_top">Frames</a></li>
+ <li><a href="SecurityAutoConfigurationExcluder.html"
target="_top">No Frames</a></li>
+ </ul>
+ </div>
+ <div>
+ <ul class="subNavList">
+ <li>Summary: </li>
+ Nested Field <li><a
href="#property_summary">Property</a></li> <li><a
href="#constructor_summary">Constructor</a></li> <li><a
href="#method_summary">Method</a></li>
+ </ul>
+ <ul class="subNavList">
+ <li> | Detail: </li>
+ Field <li><a
href="#prop_detail">Property</a></li> <li><a
href="#constructor_detail">Constructor</a></li> <li><a
href="#method_detail">Method</a></li>
+ </ul>
+ </div>
+ <p>Groovy Documentation</p>
+ <a name="skip-navbar_bottom">
+ <!-- -->
+ </a>
+ </div>
+</div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git
a/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-frame.html
b/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-frame.html
index e0bcf775a..2b2bb6a1c 100644
---
a/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-frame.html
+++
b/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-frame.html
@@ -51,7 +51,7 @@
<div class="indexContainer">
<h2>Classes</h2>
<ul>
- <li><a href="Application.html" title="class in
grails.plugin.springsecurity" target="classFrame">Application</a></li><li><a
href="BeanTypeResolver.html" title="class in grails.plugin.springsecurity"
target="classFrame">BeanTypeResolver</a></li><li><a href="InterceptedUrl.html"
title="class in grails.plugin.springsecurity"
target="classFrame">InterceptedUrl</a></li><li><a href="ReflectionUtils.html"
title="class in grails.plugin.springsecurity"
target="classFrame">ReflectionUtils< [...]
+ <li><a href="Application.html" title="class in
grails.plugin.springsecurity" target="classFrame">Application</a></li><li><a
href="BeanTypeResolver.html" title="class in grails.plugin.springsecurity"
target="classFrame">BeanTypeResolver</a></li><li><a href="InterceptedUrl.html"
title="class in grails.plugin.springsecurity"
target="classFrame">InterceptedUrl</a></li><li><a href="ReflectionUtils.html"
title="class in grails.plugin.springsecurity"
target="classFrame">ReflectionUtils< [...]
</ul>
</div>
diff --git
a/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-summary.html
b/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-summary.html
index 6f86981b9..d21a0083c 100644
---
a/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-summary.html
+++
b/snapshot/core-plugin/groovydoc/grails/plugin/springsecurity/package-summary.html
@@ -147,6 +147,15 @@ function windowTitle()
</td>
<td>Helper methods that use dynamic Groovy.</td>
</tr>
+<tr class="altColor">
+ <td class="colOne">
+ <strong><a
href="SecurityAutoConfigurationExcluder.html" title="class in
grails/plugin/springsecurity">
+ SecurityAutoConfigurationExcluder
+ </a></strong>
+ </td>
+ <td>Automatically excludes Spring Boot security
auto-configuration classes that
+ conflict with the Grails Spring Security plugin.</td>
+ </tr>
<tr class="altColor">
<td class="colOne">
<strong><a href="SecurityEventListener.html"
title="class in grails/plugin/springsecurity">
diff --git a/snapshot/core-plugin/groovydoc/index-all.html
b/snapshot/core-plugin/groovydoc/index-all.html
index 1a43a8ed4..c11a1dbf3 100644
--- a/snapshot/core-plugin/groovydoc/index-all.html
+++ b/snapshot/core-plugin/groovydoc/index-all.html
@@ -506,6 +506,8 @@ if (location.href.indexOf('is-external=true') == -1) {
<h2 class="title">E</h2>
<dl>
+<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html#ENABLED_PROPERTY"
title="Property in
SecurityAutoConfigurationExcluder">ENABLED_PROPERTY</a></span> - Property in <a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html">SecurityAutoConfigurationExcluder</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.html#ENCODING_ID_ARGON2"
title="Field in SpringSecurityCoreGrailsPlugin">ENCODING_ID_ARGON2</a></span>
- Field in <a
href="grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.html">SpringSecurityCoreGrailsPlugin</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.html#ENCODING_ID_BCRYPT"
title="Field in SpringSecurityCoreGrailsPlugin">ENCODING_ID_BCRYPT</a></span>
- Field in <a
href="grails/plugin/springsecurity/SpringSecurityCoreGrailsPlugin.html">SpringSecurityCoreGrailsPlugin</a>
@@ -627,6 +629,9 @@ if (location.href.indexOf('is-external=true') == -1) {
</dt><dd> <div class="block">For debugging.</div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/ReflectionUtils.html#getConfigProperty(java.lang.String,
java.lang.Object)" title="Method in
ReflectionUtils">getConfigProperty(java.lang.String,
java.lang.Object)</a></span> - Method in <a
href="grails/plugin/springsecurity/ReflectionUtils.html">ReflectionUtils</a>
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html#getExcludedAutoConfigurations()"
title="Method in
SecurityAutoConfigurationExcluder">getExcludedAutoConfigurations()</a></span> -
Method in <a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html">SecurityAutoConfigurationExcluder</a>
+</dt><dd> <div class="block">Returns the set of auto-configuration class names
that this filter excludes.
+ </div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/web/filter/DebugFilter.html#getFilters(jakarta.servlet.http.HttpServletRequest)"
title="Method in
DebugFilter">getFilters(jakarta.servlet.http.HttpServletRequest)</a></span> -
Method in <a
href="grails/plugin/springsecurity/web/filter/DebugFilter.html">DebugFilter</a>
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/ReflectionUtils.html#getGrailsServerURL()"
title="Method in ReflectionUtils">getGrailsServerURL()</a></span> - Method in
<a href="grails/plugin/springsecurity/ReflectionUtils.html">ReflectionUtils</a>
@@ -949,6 +954,8 @@ if (location.href.indexOf('is-external=true') == -1) {
<dt><span class="strong"><a
href="grails/plugin/springsecurity/Application.html#main(java.lang.String)"
title="Method in Application">main(java.lang.String)</a></span> - Method in <a
href="grails/plugin/springsecurity/Application.html">Application</a>
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html#match(java.lang.String,
org.springframework.boot.autoconfigure.AutoConfigurationMetadata)"
title="Method in SecurityAutoConfigurationExcluder">match(java.lang.String,
org.springframework.boot.autoconfigure.AutoConfigurationMetadata)</a></span> -
Method in <a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html">SecurityAutoConfigurationExcluder</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/ReflectionUtils.html#matchAllUrlMappings(grails.web.mapping.UrlMappingsHolder,
java.lang.String, org.grails.web.servlet.mvc.GrailsWebRequest,
org.grails.web.mime.HttpServletResponseExtension)" title="Method in
ReflectionUtils">matchAllUrlMappings(grails.web.mapping.UrlMappingsHolder,
java.lang.String, org.grails.web.servlet.mvc.GrailsWebRequest,
org.grails.web.mime.HttpServletResponseExtension)</a></span> - Method in <a
href= [...]
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/web/GrailsSecurityFilterChain.html#matcherPattern"
title="Property in GrailsSecurityFilterChain">matcherPattern</a></span> -
Property in <a
href="grails/plugin/springsecurity/web/GrailsSecurityFilterChain.html">GrailsSecurityFilterChain</a>
@@ -1230,6 +1237,11 @@ if (location.href.indexOf('is-external=true') == -1) {
</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/SpringSecurityBeanFactoryPostProcessor.html#SECURITY_PROPERTIES_NAME"
title="Field in
SpringSecurityBeanFactoryPostProcessor">SECURITY_PROPERTIES_NAME</a></span> -
Field in <a
href="grails/plugin/springsecurity/SpringSecurityBeanFactoryPostProcessor.html">SpringSecurityBeanFactoryPostProcessor</a>
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html"
title="Class in
grails.plugin.springsecurity">SecurityAutoConfigurationExcluder</a></span> -
Class in <a
href="./grails/plugin/springsecurity/package-summary.html">grails.plugin.springsecurity</a>
+</dt><dd><div class="block">Automatically excludes Spring Boot security
auto-configuration classes that
+ conflict with the Grails Spring Security plugin.</div></dd>
+<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html#SecurityAutoConfigurationExcluder()"
title="Constructor in
SecurityAutoConfigurationExcluder">SecurityAutoConfigurationExcluder()</a></span>
- Constructor in <a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html">SecurityAutoConfigurationExcluder</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityConfigType.html" title="Enum in
grails.plugin.springsecurity">SecurityConfigType</a></span> - Enum in <a
href="./grails/plugin/springsecurity/package-summary.html">grails.plugin.springsecurity</a>
</dt><dd><div class="block"> <DL><DT><B>Authors:</B></DT><DD>Burt
Beckwith</DD></DL></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityEventListener.html" title="Class in
grails.plugin.springsecurity">SecurityEventListener</a></span> - Class in <a
href="./grails/plugin/springsecurity/package-summary.html">grails.plugin.springsecurity</a>
@@ -1271,6 +1283,8 @@ if (location.href.indexOf('is-external=true') == -1) {
</dt><dd> <div class="block">Set at startup by plugin.</div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/ReflectionUtils.html#setConfigProperty(java.lang.String,
java.lang.Object)" title="Method in
ReflectionUtils">setConfigProperty(java.lang.String,
java.lang.Object)</a></span> - Method in <a
href="grails/plugin/springsecurity/ReflectionUtils.html">ReflectionUtils</a>
</dt><dd> <div class="block"></div></dd>
+<dt><span class="strong"><a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html#setEnvironment(org.springframework.core.env.Environment)"
title="Method in
SecurityAutoConfigurationExcluder">setEnvironment(org.springframework.core.env.Environment)</a></span>
- Method in <a
href="grails/plugin/springsecurity/SecurityAutoConfigurationExcluder.html">SecurityAutoConfigurationExcluder</a>
+</dt><dd> <div class="block"></div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/web/access/AjaxAwareAccessDeniedHandler.html#setErrorPage(java.lang.String)"
title="Method in
AjaxAwareAccessDeniedHandler">setErrorPage(java.lang.String)</a></span> -
Method in <a
href="grails/plugin/springsecurity/web/access/AjaxAwareAccessDeniedHandler.html">AjaxAwareAccessDeniedHandler</a>
</dt><dd> <div class="block">Dependency injection for the error page, e.g.
</div></dd>
<dt><span class="strong"><a
href="grails/plugin/springsecurity/web/authentication/AjaxAwareAuthenticationFailureHandler.html#setExceptionMappings(List<Map<String,
?>>)" title="Method in
AjaxAwareAuthenticationFailureHandler">setExceptionMappings(List<Map<String,
?>>)</a></span> - Method in <a
href="grails/plugin/springsecurity/web/authentication/AjaxAwareAuthenticationFailureHandler.html">AjaxAwareAuthenticationFailureHandler</a>
diff --git a/snapshot/core-plugin/guide/index.html
b/snapshot/core-plugin/guide/index.html
index 40673837a..d2e817053 100644
--- a/snapshot/core-plugin/guide/index.html
+++ b/snapshot/core-plugin/guide/index.html
@@ -669,7 +669,24 @@ body.book #toc,body.book #preamble,body.book
h1.sect0,body.book .sect1>h2{page-b
</div>
</div>
<div class="sect3">
-<h4 id="verifying-installation">1.1.3. Verifying Installation</h4>
+<h4 id="spring-boot-auto-configuration">1.1.3. Spring Boot
Auto-Configuration</h4>
+<div class="paragraph">
+<p>The plugin automatically excludes Spring Boot security auto-configuration
classes (such as <code>SecurityAutoConfiguration</code>,
<code>SecurityFilterAutoConfiguration</code>, and
<code>UserDetailsServiceAutoConfiguration</code>) that conflict with the
plugin’s own security setup. This means you do not need to manually add
<code>spring.autoconfigure.exclude</code> entries to your
<code>application.yml</code>.</p>
+</div>
+<div class="paragraph">
+<p>If you need to disable this automatic exclusion - for example, to use
Spring Boot’s security auto-configuration directly alongside the plugin -
set the following property in <code>application.yml</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code data-lang="yaml">grails:
+ plugin:
+ springsecurity:
+ excludeSpringSecurityAutoConfiguration: false</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="verifying-installation">1.1.4. Verifying Installation</h4>
<div class="paragraph">
<p>To verify that the plugin has been successfully installed, you can run a
simple test:</p>
</div>
@@ -6383,6 +6400,11 @@ beans = {
<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>true</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to
remove the password from the <code>Authentication</code> and its child objects
after successful authentication</p></td>
</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">excludeSpringSecurityAutoConfiguration</p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock"><code>true</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Whether to
automatically exclude Spring Boot security auto-configuration classes that
conflict with the plugin. Set to <code>false</code> to allow Spring
Boot’s security auto-configurations to load alongside the plugin. See <a
href="#installation">Installation</a></p></td>
+</tr>
</tbody>
</table>
</div>
@@ -7471,7 +7493,7 @@ logger 'grails.plugin.springsecurity', DEBUG, ['STDOUT'],
false</code></pre>
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js"></script>
diff --git a/snapshot/ldap-plugin/guide/index.html
b/snapshot/ldap-plugin/guide/index.html
index cec82dea2..592de890a 100644
--- a/snapshot/ldap-plugin/guide/index.html
+++ b/snapshot/ldap-plugin/guide/index.html
@@ -1191,7 +1191,7 @@ beans = {
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
</body>
diff --git a/snapshot/oauth2-plugin/guide/index.html
b/snapshot/oauth2-plugin/guide/index.html
index d06656c96..eac295539 100644
--- a/snapshot/oauth2-plugin/guide/index.html
+++ b/snapshot/oauth2-plugin/guide/index.html
@@ -915,7 +915,7 @@ protected void authenticateAndRedirect(OAuth2SpringToken
oAuthToken, redirectUrl
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js"></script>
diff --git a/snapshot/rest-plugin/guide/index.html
b/snapshot/rest-plugin/guide/index.html
index 0c2d6b3c7..9f544d91f 100644
--- a/snapshot/rest-plugin/guide/index.html
+++ b/snapshot/rest-plugin/guide/index.html
@@ -3747,7 +3747,7 @@ way of using HTTP sessions. So not acceptable.</p>
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
</body>
diff --git a/snapshot/ui-plugin/guide/index.html
b/snapshot/ui-plugin/guide/index.html
index ac0dce458..e1927a361 100644
--- a/snapshot/ui-plugin/guide/index.html
+++ b/snapshot/ui-plugin/guide/index.html
@@ -2499,7 +2499,7 @@ The second service is a listener service which ensures
that anytime an answer is
<div id="footer">
<div id="footer-text">
Version 7.0.2-SNAPSHOT<br>
-Last updated 2026-02-19 02:17:33 UTC
+Last updated 2026-02-21 11:58:32 UTC
</div>
</div>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.min.js"></script>