Skip to content

Commit ab7c1af

Browse files
committed
Auto-configure SpringSecurityDialect for v5 and deprecate v4
Closes gh-14828
1 parent a25e4a8 commit ab7c1af

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

spring-boot-project/spring-boot-autoconfigure/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,11 @@
623623
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
624624
<optional>true</optional>
625625
</dependency>
626+
<dependency>
627+
<groupId>org.thymeleaf.extras</groupId>
628+
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
629+
<optional>true</optional>
630+
</dependency>
626631
<dependency>
627632
<groupId>javax.jms</groupId>
628633
<artifactId>javax.jms-api</artifactId>

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/thymeleaf/ThymeleafAutoConfiguration.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,14 +327,34 @@ public DataAttributeDialect dialect() {
327327
@ConditionalOnClass({ SpringSecurityDialect.class })
328328
protected static class ThymeleafSecurityDialectConfiguration {
329329

330+
private final Log logger = LogFactory
331+
.getLog(ThymeleafSecurityDialectConfiguration.class);
332+
330333
@Bean
331334
@ConditionalOnMissingBean
332335
public SpringSecurityDialect securityDialect() {
336+
if (this.logger.isWarnEnabled()) {
337+
this.logger.warn("Auto-configuration for thymeleaf-extras-springsecurity4"
338+
+ " is deprecated in favour of thymeleaf-extras-springsecurity5");
339+
}
333340
return new SpringSecurityDialect();
334341
}
335342

336343
}
337344

345+
@Configuration
346+
@ConditionalOnClass({
347+
org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect.class })
348+
protected static class ThymeleafSecurity5DialectConfiguration {
349+
350+
@Bean
351+
@ConditionalOnMissingBean
352+
public org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect securityDialect() {
353+
return new org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect();
354+
}
355+
356+
}
357+
338358
@Configuration
339359
@ConditionalOnClass(Java8TimeDialect.class)
340360
protected static class ThymeleafJava8TimeDialect {

spring-boot-project/spring-boot-dependencies/pom.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@
172172
<statsd-client.version>3.1.0</statsd-client.version>
173173
<sun-mail.version>${javax-mail.version}</sun-mail.version>
174174
<thymeleaf.version>3.0.10.RELEASE</thymeleaf.version>
175+
<!-- Deprecated in favour of thymeleaf-extras-springsecurity.version -->
175176
<thymeleaf-extras-springsecurity4.version>3.0.3.RELEASE</thymeleaf-extras-springsecurity4.version>
177+
<thymeleaf-extras-springsecurity.version>${thymeleaf-extras-springsecurity4.version}</thymeleaf-extras-springsecurity.version>
176178
<thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version>
177179
<thymeleaf-extras-data-attribute.version>2.0.1</thymeleaf-extras-data-attribute.version>
178180
<thymeleaf-extras-java8time.version>3.0.1.RELEASE</thymeleaf-extras-java8time.version>
@@ -2951,7 +2953,12 @@
29512953
<dependency>
29522954
<groupId>org.thymeleaf.extras</groupId>
29532955
<artifactId>thymeleaf-extras-springsecurity4</artifactId>
2954-
<version>${thymeleaf-extras-springsecurity4.version}</version>
2956+
<version>${thymeleaf-extras-springsecurity.version}</version>
2957+
</dependency>
2958+
<dependency>
2959+
<groupId>org.thymeleaf.extras</groupId>
2960+
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
2961+
<version>${thymeleaf-extras-springsecurity.version}</version>
29552962
</dependency>
29562963
<dependency>
29572964
<groupId>org.webjars</groupId>

0 commit comments

Comments
 (0)