Thymeleaf 3.0 Spring Boot +安全性集成无法正常工作

在基于Spring Boot" title="Spring Boot">Spring Boot 1.4.3的项目中,我很难让Thymeleaf与Spring Security一起使用。

标签,例如

<div sec:authorize="hasAuthority('ADMIN')">

根本无法解析。

如果我尝试SpringSecurityDialect像这样手动添加:

@Bean

public SpringSecurityDialect securityDialect() {

return new SpringSecurityDialect();

}

我正进入(状态:

Exception in thread "main" java.lang.NoClassDefFoundError: org/thymeleaf/dialect/IExpressionEnhancingDialect

我在依赖项中包含以下内容:

<dependency>

<groupId>org.thymeleaf.extras</groupId>

<artifactId>thymeleaf-extras-springsecurity4</artifactId>

</dependency>

SpringSecurityDialect似乎并没有被自动配置添加。

手动添加Bean之后,出现了上述异常。

这是错误还是我错过了什么?

我的Thymeleaf版本是:

<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>

<thymeleaf-extras-java8time.version>3.0.0.RELEASE</thymeleaf-extras-java8time.version>

<thymeleaf-layout-dialect.version>2.1.2</thymeleaf-layout-dialect.version>

回答:

得到它的工作,如果你正在使用Thymeleaf3.0.2与Spring 1.4的引导,需要强制版本3.0.1.RELEASEthymeleaf-

extras-springsecurity4(因为它继承了2.1.2版不工作结合Thymeleaf 3):

<dependency>

<groupId>org.thymeleaf.extras</groupId>

<artifactId>thymeleaf-extras-springsecurity4</artifactId>

<version>3.0.1.RELEASE</version>

</dependency>

标签应使用该hasRole功能。

<div sec:authorize="hasRole('ROLE_ADMIN')">

以上是 Thymeleaf 3.0 Spring Boot +安全性集成无法正常工作 的全部内容, 来源链接: utcz.com/qa/419339.html

回到顶部