Skip to content

Commit f62a679

Browse files
committed
Fix anchors & remaining nesting problems
1 parent ada84bf commit f62a679

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+205
-205
lines changed

docs/src/docs/index.adoc

Lines changed: 75 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -47,59 +47,59 @@ include::upgrading.adoc[]
4747

4848
== Core Plugin
4949

50-
include::{core-docs-dir}/introduction.adoc[leveloffset=+2]
50+
include::{core-docs-dir}/introduction.adoc[leveloffset=+1]
5151

52-
include::{core-docs-dir}/whatsNew.adoc[leveloffset=+2]
52+
include::{core-docs-dir}/whatsNew.adoc[leveloffset=+1]
5353

54-
include::{core-docs-dir}/domainClasses.adoc[leveloffset=+2]
54+
include::{core-docs-dir}/domainClasses.adoc[leveloffset=+1]
5555

56-
include::{core-docs-dir}/requestMappings.adoc[leveloffset=+2]
56+
include::{core-docs-dir}/requestMappings.adoc[leveloffset=+1]
5757

58-
include::{core-docs-dir}/helperClasses.adoc[leveloffset=+2]
58+
include::{core-docs-dir}/helperClasses.adoc[leveloffset=+1]
5959

60-
include::{core-docs-dir}/events.adoc[leveloffset=+2]
60+
include::{core-docs-dir}/events.adoc[leveloffset=+1]
6161

62-
include::{core-docs-dir}/domainClassProperties.adoc[leveloffset=+2]
62+
include::{core-docs-dir}/domainClassProperties.adoc[leveloffset=+1]
6363

64-
include::{core-docs-dir}/authentication.adoc[leveloffset=+2]
64+
include::{core-docs-dir}/authentication.adoc[leveloffset=+1]
6565

66-
include::{core-docs-dir}/authenticationProviders.adoc[leveloffset=+2]
66+
include::{core-docs-dir}/authenticationProviders.adoc[leveloffset=+1]
6767

68-
include::{core-docs-dir}/userDetailsService.adoc[leveloffset=+2]
68+
include::{core-docs-dir}/userDetailsService.adoc[leveloffset=+1]
6969

70-
include::{core-docs-dir}/passwords.adoc[leveloffset=+2]
70+
include::{core-docs-dir}/passwords.adoc[leveloffset=+1]
7171

72-
include::{core-docs-dir}/urlProperties.adoc[leveloffset=+2]
72+
include::{core-docs-dir}/urlProperties.adoc[leveloffset=+1]
7373

74-
include::{core-docs-dir}/hierarchicalRoles.adoc[leveloffset=+2]
74+
include::{core-docs-dir}/hierarchicalRoles.adoc[leveloffset=+1]
7575

76-
include::{core-docs-dir}/switchUser.adoc[leveloffset=+2]
76+
include::{core-docs-dir}/switchUser.adoc[leveloffset=+1]
7777

78-
include::{core-docs-dir}/filters.adoc[leveloffset=+2]
78+
include::{core-docs-dir}/filters.adoc[leveloffset=+1]
7979

80-
include::{core-docs-dir}/channelSecurity.adoc[leveloffset=+2]
80+
include::{core-docs-dir}/channelSecurity.adoc[leveloffset=+1]
8181

82-
include::{core-docs-dir}/ip.adoc[leveloffset=+2]
82+
include::{core-docs-dir}/ip.adoc[leveloffset=+1]
8383

84-
include::{core-docs-dir}/sessionFixation.adoc[leveloffset=+2]
84+
include::{core-docs-dir}/sessionFixation.adoc[leveloffset=+1]
8585

86-
include::{core-docs-dir}/logoutHandlers.adoc[leveloffset=+2]
86+
include::{core-docs-dir}/logoutHandlers.adoc[leveloffset=+1]
8787

88-
include::{core-docs-dir}/voters.adoc[leveloffset=+2]
88+
include::{core-docs-dir}/voters.adoc[leveloffset=+1]
8989

90-
include::{core-docs-dir}/miscProperties.adoc[leveloffset=+2]
90+
include::{core-docs-dir}/miscProperties.adoc[leveloffset=+1]
9191

92-
include::{core-docs-dir}/tutorials.adoc[leveloffset=+2]
92+
include::{core-docs-dir}/tutorials.adoc[leveloffset=+1]
9393

94-
include::{core-docs-dir}/examples.adoc[leveloffset=+2]
94+
include::{core-docs-dir}/examples.adoc[leveloffset=+1]
9595

96-
include::{core-docs-dir}/controllerMethods.adoc[leveloffset=+2]
96+
include::{core-docs-dir}/controllerMethods.adoc[leveloffset=+1]
9797

98-
include::{core-docs-dir}/i18n.adoc[leveloffset=+2]
98+
include::{core-docs-dir}/i18n.adoc[leveloffset=+1]
9999

100-
include::{core-docs-dir}/scripts.adoc[leveloffset=+2]
100+
include::{core-docs-dir}/scripts.adoc[leveloffset=+1]
101101

102-
include::{core-docs-dir}/debugging.adoc[leveloffset=+2]
102+
include::{core-docs-dir}/debugging.adoc[leveloffset=+1]
103103

104104
=== API Reference
105105

@@ -111,23 +111,23 @@ The Core plugin Groovydoc API documentation is available at https://apache.githu
111111

112112
== ACL Plugin
113113

114-
include::{acl-docs-dir}/introduction.adoc[leveloffset=+2]
114+
include::{acl-docs-dir}/introduction.adoc[leveloffset=+1]
115115

116-
include::{acl-docs-dir}/installing.adoc[leveloffset=+2]
116+
include::{acl-docs-dir}/installing.adoc[leveloffset=+1]
117117

118-
include::{acl-docs-dir}/usage.adoc[leveloffset=+2]
118+
include::{acl-docs-dir}/usage.adoc[leveloffset=+1]
119119

120-
include::{acl-docs-dir}/tutorial.adoc[leveloffset=+2]
120+
include::{acl-docs-dir}/tutorial.adoc[leveloffset=+1]
121121

122-
include::{acl-docs-dir}/sampleApp.adoc[leveloffset=+2]
122+
include::{acl-docs-dir}/sampleApp.adoc[leveloffset=+1]
123123

124-
include::{acl-docs-dir}/AclUtilService.adoc[leveloffset=+2]
124+
include::{acl-docs-dir}/AclUtilService.adoc[leveloffset=+1]
125125

126-
include::{acl-docs-dir}/Scripts.adoc[leveloffset=+2]
126+
include::{acl-docs-dir}/Scripts.adoc[leveloffset=+1]
127127

128-
include::{acl-docs-dir}/TagLibraries.adoc[leveloffset=+2]
128+
include::{acl-docs-dir}/TagLibraries.adoc[leveloffset=+1]
129129

130-
include::{acl-docs-dir}/history.adoc[leveloffset=+2]
130+
include::{acl-docs-dir}/history.adoc[leveloffset=+1]
131131

132132
=== API Reference
133133

@@ -139,13 +139,13 @@ The ACL plugin Groovydoc API documentation is available at https://apache.github
139139

140140
== CAS Plugin
141141

142-
include::{cas-docs-dir}/introduction.adoc[leveloffset=+2]
142+
include::{cas-docs-dir}/introduction.adoc[leveloffset=+1]
143143

144-
include::{cas-docs-dir}/usage.adoc[leveloffset=+2]
144+
include::{cas-docs-dir}/usage.adoc[leveloffset=+1]
145145

146-
include::{cas-docs-dir}/configuration.adoc[leveloffset=+2]
146+
include::{cas-docs-dir}/configuration.adoc[leveloffset=+1]
147147

148-
include::{cas-docs-dir}/history.adoc[leveloffset=+2]
148+
include::{cas-docs-dir}/history.adoc[leveloffset=+1]
149149

150150
=== API Reference
151151

@@ -157,11 +157,11 @@ The CAS plugin Groovydoc API documentation is available at https://apache.github
157157

158158
== LDAP Plugin
159159

160-
include::{ldap-docs-dir}/introduction.adoc[leveloffset=+2]
160+
include::{ldap-docs-dir}/introduction.adoc[leveloffset=+1]
161161

162-
include::{ldap-docs-dir}/usage.adoc[leveloffset=+2]
162+
include::{ldap-docs-dir}/usage.adoc[leveloffset=+1]
163163

164-
include::{ldap-docs-dir}/configuration.adoc[leveloffset=+2]
164+
include::{ldap-docs-dir}/configuration.adoc[leveloffset=+1]
165165

166166
=== API Reference
167167

@@ -173,13 +173,13 @@ The LDAP plugin Groovydoc API documentation is available at https://apache.githu
173173

174174
== OAuth2 Plugin
175175

176-
include::{oauth2-docs-dir}/introduction.adoc[leveloffset=+2]
176+
include::{oauth2-docs-dir}/introduction.adoc[leveloffset=+1]
177177

178-
include::{oauth2-docs-dir}/installation.adoc[leveloffset=+2]
178+
include::{oauth2-docs-dir}/installation.adoc[leveloffset=+1]
179179

180-
include::{oauth2-docs-dir}/configuration.adoc[leveloffset=+2]
180+
include::{oauth2-docs-dir}/configuration.adoc[leveloffset=+1]
181181

182-
include::{oauth2-docs-dir}/extensions.adoc[leveloffset=+2]
182+
include::{oauth2-docs-dir}/extensions.adoc[leveloffset=+1]
183183

184184
=== API Reference
185185

@@ -191,39 +191,39 @@ The OAuth2 plugin Groovydoc API documentation is available at https://apache.git
191191

192192
== REST Plugin
193193

194-
include::{rest-docs-dir}/introduction.adoc[leveloffset=+2]
194+
include::{rest-docs-dir}/introduction.adoc[leveloffset=+1]
195195

196-
include::{rest-docs-dir}/whatsNew60.adoc[leveloffset=+2]
196+
include::{rest-docs-dir}/whatsNew60.adoc[leveloffset=+1]
197197

198-
include::{rest-docs-dir}/whatsNew50.adoc[leveloffset=+2]
198+
include::{rest-docs-dir}/whatsNew50.adoc[leveloffset=+1]
199199

200-
include::{rest-docs-dir}/whatsNew20.adoc[leveloffset=+2]
200+
include::{rest-docs-dir}/whatsNew20.adoc[leveloffset=+1]
201201

202-
include::{rest-docs-dir}/whatsNew15.adoc[leveloffset=+2]
202+
include::{rest-docs-dir}/whatsNew15.adoc[leveloffset=+1]
203203

204-
include::{rest-docs-dir}/whatsNew14.adoc[leveloffset=+2]
204+
include::{rest-docs-dir}/whatsNew14.adoc[leveloffset=+1]
205205

206-
include::{rest-docs-dir}/configuration.adoc[leveloffset=+2]
206+
include::{rest-docs-dir}/configuration.adoc[leveloffset=+1]
207207

208-
include::{rest-docs-dir}/events.adoc[leveloffset=+2]
208+
include::{rest-docs-dir}/events.adoc[leveloffset=+1]
209209

210-
include::{rest-docs-dir}/authentication.adoc[leveloffset=+2]
210+
include::{rest-docs-dir}/authentication.adoc[leveloffset=+1]
211211

212-
include::{rest-docs-dir}/tokenGeneration.adoc[leveloffset=+2]
212+
include::{rest-docs-dir}/tokenGeneration.adoc[leveloffset=+1]
213213

214-
include::{rest-docs-dir}/tokenStorage.adoc[leveloffset=+2]
214+
include::{rest-docs-dir}/tokenStorage.adoc[leveloffset=+1]
215215

216-
include::{rest-docs-dir}/tokenRendering.adoc[leveloffset=+2]
216+
include::{rest-docs-dir}/tokenRendering.adoc[leveloffset=+1]
217217

218-
include::{rest-docs-dir}/tokenValidation.adoc[leveloffset=+2]
218+
include::{rest-docs-dir}/tokenValidation.adoc[leveloffset=+1]
219219

220-
include::{rest-docs-dir}/cors.adoc[leveloffset=+2]
220+
include::{rest-docs-dir}/cors.adoc[leveloffset=+1]
221221

222-
include::{rest-docs-dir}/oauth.adoc[leveloffset=+2]
222+
include::{rest-docs-dir}/oauth.adoc[leveloffset=+1]
223223

224-
include::{rest-docs-dir}/debugging.adoc[leveloffset=+2]
224+
include::{rest-docs-dir}/debugging.adoc[leveloffset=+1]
225225

226-
include::{rest-docs-dir}/faq.adoc[leveloffset=+2]
226+
include::{rest-docs-dir}/faq.adoc[leveloffset=+1]
227227

228228
=== API Reference
229229

@@ -235,27 +235,27 @@ The REST plugin Groovydoc API documentation is available at https://apache.githu
235235

236236
== UI Plugin
237237

238-
include::{ui-docs-dir}/introduction.adoc[leveloffset=+2]
238+
include::{ui-docs-dir}/introduction.adoc[leveloffset=+1]
239239

240-
include::{ui-docs-dir}/user.adoc[leveloffset=+2]
240+
include::{ui-docs-dir}/user.adoc[leveloffset=+1]
241241

242-
include::{ui-docs-dir}/role.adoc[leveloffset=+2]
242+
include::{ui-docs-dir}/role.adoc[leveloffset=+1]
243243

244-
include::{ui-docs-dir}/requestmap.adoc[leveloffset=+2]
244+
include::{ui-docs-dir}/requestmap.adoc[leveloffset=+1]
245245

246-
include::{ui-docs-dir}/userRegistration.adoc[leveloffset=+2]
246+
include::{ui-docs-dir}/userRegistration.adoc[leveloffset=+1]
247247

248-
include::{ui-docs-dir}/forgotPassword.adoc[leveloffset=+2]
248+
include::{ui-docs-dir}/forgotPassword.adoc[leveloffset=+1]
249249

250-
include::{ui-docs-dir}/acls.adoc[leveloffset=+2]
250+
include::{ui-docs-dir}/acls.adoc[leveloffset=+1]
251251

252-
include::{ui-docs-dir}/persistentCookie.adoc[leveloffset=+2]
252+
include::{ui-docs-dir}/persistentCookie.adoc[leveloffset=+1]
253253

254-
include::{ui-docs-dir}/configUI.adoc[leveloffset=+2]
254+
include::{ui-docs-dir}/configUI.adoc[leveloffset=+1]
255255

256-
include::{ui-docs-dir}/customization.adoc[leveloffset=+2]
256+
include::{ui-docs-dir}/customization.adoc[leveloffset=+1]
257257

258-
include::{ui-docs-dir}/scripts.adoc[leveloffset=+2]
258+
include::{ui-docs-dir}/scripts.adoc[leveloffset=+1]
259259

260260
=== API Reference
261261

docs/src/docs/introduction.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ Once you have the core plugin working, you can add any combination of extension
6565
| 5.x
6666
|===
6767

68-
For information on upgrading from previous versions, see the <<upgrading,Upgrading>> section.
68+
For information on upgrading from previous versions, see the <<upgrading-from-previous-versions,Upgrading>> section.

docs/src/docs/upgrading/upgrading7x.adoc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ specific language governing permissions and limitations
1717
under the License.
1818
////
1919

20-
=== Upgrading to 7.x (from Grails 6 / Spring Security 5.x)
20+
== Upgrading to 7.x (from Grails 6 / Spring Security 5.x)
2121

2222
This guide covers upgrading the Grails Spring Security plugins from the Grails 6.x era (plugin versions 5.x/6.x, Spring Security 5.8.x) to the Grails 7.x era (plugin version 7.x, Spring Security 6.x).
2323

2424
For the full Grails framework upgrade guide (Java 17 baseline, Groovy 4, coordinate changes, Gradle updates, etc.), see the https://docs.grails.org/7.0.x/guide/upgrading.html[Grails 7 Upgrade Guide].
2525

26-
==== Repository Consolidation
26+
=== Repository Consolidation
2727

2828
The previously separate Spring Security plugin repositories have been consolidated into a single mono-repository: https://github.com/apache/grails-spring-security[apache/grails-spring-security].
2929
This repository now contains the core plugin and all extension plugins (ACL, CAS, LDAP, OAuth2, REST, and UI).
3030

31-
==== Dependency Changes
31+
=== Dependency Changes
3232

3333
All artifacts have moved to the `org.apache.grails` group.
3434
The most notable change is that `spring-security-core` has been renamed to `grails-spring-security` (dropping the `-core` suffix).
@@ -73,7 +73,7 @@ Update your `build.gradle` dependencies as follows:
7373
| `org.apache.grails:grails-spring-security-ui`
7474
|===
7575

76-
===== Example
76+
==== Example
7777

7878
A typical Spring Security Core dependency change:
7979

@@ -90,7 +90,7 @@ implementation 'org.apache.grails:grails-spring-security'
9090
NOTE: With the unified Grails BOM, versions are managed automatically when using a Grails Gradle plugin.
9191
You no longer need to specify the version explicitly.
9292

93-
==== REST Plugin Token Storage Submodules
93+
=== REST Plugin Token Storage Submodules
9494

9595
If you use the Spring Security REST plugin with a specific token storage backend, note the following renames:
9696

@@ -99,7 +99,7 @@ If you use the Spring Security REST plugin with a specific token storage backend
9999
* `spring-security-rest-memcached` is now `grails-spring-security-rest-memcached`
100100
* `spring-security-rest-redis` is now `grails-spring-security-rest-redis`
101101

102-
==== Spring Security 6.x Changes
102+
=== Spring Security 6.x Changes
103103

104104
The underlying Spring Security framework has been upgraded from 5.8.x to 6.x.
105105
Key changes that may affect your application:
@@ -108,7 +108,7 @@ Key changes that may affect your application:
108108
* **Security filter chain configuration**: The `WebSecurityConfigurerAdapter` has been removed in Spring Security 6. If you have custom security configurations extending this class, you will need to migrate to the component-based approach. The Grails Spring Security plugin handles the core filter chain configuration internally, but any custom Spring Security beans may need updating.
109109
* **Default security behaviors**: Some default behaviors have changed in Spring Security 6 (e.g., CSRF protection, session management). Review the https://docs.spring.io/spring-security/reference/migration-7/index.html[Spring Security reference documentation] for the complete list of changes.
110110

111-
==== Automated Migration
111+
=== Automated Migration
112112

113113
The coordinate rename script from the Grails core repository also handles Spring Security artifacts.
114114
Running it will update your Gradle files automatically:
@@ -120,7 +120,7 @@ Running it will update your Gradle files automatically:
120120

121121
The script is located in the `etc/bin` directory of the https://github.com/apache/grails-core/tree/7.0.x/etc/bin[grails-core] repository.
122122

123-
==== Configuration Compatibility
123+
=== Configuration Compatibility
124124

125125
The `grails.plugin.springsecurity.*` configuration namespace remains unchanged.
126126
Your existing `application.groovy` or `application.yml` security configuration should work without modification after updating the dependencies.

docs/src/docs/whatsNew.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ This means all plugins share the same version number and are guaranteed to be co
2828

2929
The plugins have transitioned to the Apache Software Foundation.
3030
The group ID has changed from `org.grails.plugins` to `org.apache.grails`, and artifact names have been updated.
31-
See the <<upgrading,Upgrading>> section for a full mapping of old to new coordinates.
31+
See the <<upgrading-from-previous-versions,Upgrading>> section for a full mapping of old to new coordinates.
3232

3333
=== Unified Versioning
3434

plugin-acl/docs/src/docs/introduction.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ The ACL plugin adds Domain Object Security support to a Grails application that
2424

2525
The core plugin and other extension plugins support restricting access to URLs via rules that include checking a user's authentication status, roles, etc. and the ACL plugin extends this by adding support for restricting access to individual domain class instances. The access can be very fine-grained and can define which actions can be taken on an object - these typically include Read, Create, Write, Delete, and Administer but you're free to define whatever actions you like.
2626

27-
To learn about using ACLs in Grails, you can follow the <<tutorial>> and in addition you can download and run a complete Grails application that uses the plugin. Installing and running the application are described in <<sampleApp>>.
27+
To learn about using ACLs in Grails, you can follow the <<acl-tutorial>> and in addition you can download and run a complete Grails application that uses the plugin. Installing and running the application are described in <<acl-sampleApp>>.
2828

2929
In addition to this document, you should read the https://docs.spring.io/spring-security/reference/servlet/authorization/acls.html[Spring Security documentation].

plugin-acl/docs/src/docs/tutorial.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ This will transitively install the https://github.com/apache/grails-spring-secur
5151
$ grails s2-quickstart com.testacl User Role
5252
....
5353

54-
The ACL support uses domain classes and includes them in the JAR file, but to allow customizing them (e.g. to enable Hibernate 2^nd^-level caching) there's a script that copies the domain classes into your application, <<s2-create-acl-domains>>. There's no need to run this script if the default configuration is sufficient.
54+
The ACL support uses domain classes and includes them in the JAR file, but to allow customizing them (e.g. to enable Hibernate 2^nd^-level caching) there's a script that copies the domain classes into your application, <<acl-s2-create-acl-domains>>. There's no need to run this script if the default configuration is sufficient.
5555

5656
Note that you cannot change the domain class names or packages since the plugin references them by name. Grails allows you to override plugin artifacts by creating (or copying and modifying existing) classes with the same name and package in your application.
5757

plugin-acl/docs/src/docs/usage/domainClasses.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ under the License.
2222

2323
The plugin uses domain classes to manage database state. Ordinarily the database structure isn't all that important, but to be compatible with the traditional JDBC-based Spring Security code, the domain classes are configured to generate the table and column names that are used there.
2424

25-
The plugin classes related to persistence use these classes, so they're included in the plugin but can be overridden by running the <<s2-create-acl-domains>> script.
25+
The plugin classes related to persistence use these classes, so they're included in the plugin but can be overridden by running the <<acl-s2-create-acl-domains>> script.
2626

2727
As you can see, the database structure is highly normalized.
2828

plugin-core/docs/src/docs/authentication/rememberMeCookie.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,4 @@ The remember-me cookie is very secure, but for an even stronger solution you can
9292

9393
Persistent login is also useful for authentication schemes like Facebook, where you do not manage passwords in your database, but most of the other user information is stored locally. Without a password you cannot use the standard cookie format, so persistent logins enable remember-me cookies in these scenarios.
9494

95-
To use this feature, run the <<s2-create-persistent-token>> script. This will create the domain class, and register its name in `grails-app/conf/application.groovy`. It will also enable persistent logins by setting `rememberMe.persistent` to `true`.
95+
To use this feature, run the <<core-s2-create-persistent-token>> script. This will create the domain class, and register its name in `grails-app/conf/application.groovy`. It will also enable persistent logins by setting `rememberMe.persistent` to `true`.

0 commit comments

Comments
 (0)