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:&nbsp;</li>
+            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a 
href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </ul>
+        <ul class="subNavList">
+            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
+            Field&nbsp;&nbsp;&nbsp;<li><a 
href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </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">&nbsp;</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&nbsp;java.lang.String</strong></code>&nbsp;</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">&nbsp;</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">&nbsp;</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&nbsp;java.util.Set&lt;java.lang.String&gt;</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">&nbsp;</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&nbsp;final&nbsp;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&nbsp;java.util.Set&lt;java.lang.String&gt; 
<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:&nbsp;</li>
+            Nested&nbsp;&nbsp;&nbsp;Field&nbsp;&nbsp;&nbsp;<li><a 
href="#property_summary">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_summary">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_summary">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </ul>
+        <ul class="subNavList">
+            <li>&nbsp;|&nbsp;Detail:&nbsp;</li>
+            Field&nbsp;&nbsp;&nbsp;<li><a 
href="#prop_detail">Property</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#constructor_detail">Constructor</a></li>&nbsp;&nbsp;&nbsp;<li><a 
href="#method_detail">Method</a></li>&nbsp;&nbsp;&nbsp;
+        </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&lt;Map&lt;String,
 ?&gt;&gt;)</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&#8217;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&#8217;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&#8217;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>


Reply via email to