Spring 安全方言 sec:authorize 未解析

Spring Security Dialect sec:authorize not parsed

我正在使用 spring 引导 2.1.0 和 spring 安全性构建一个小应用程序。 我可以使用表单身份验证登录和注销。但是,sec:authorize 标签未被解析或评估,呈现的 html 包含这些属性。

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
        <version>3.0.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>nz.net.ultraq.thymeleaf</groupId>
        <artifactId>thymeleaf-layout-dialect</artifactId>
        </dependency>

不知道我错过了什么

如果没有提供太多信息,可能会有一些设置不正确。无论如何,这个问题往往总是通过添加缺失的依赖项或更改您正在使用的依赖项来解决。所以,首先,尝试更改为 springsecurity5。并添加以下 @Bean.

配置

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect;

@Configuration
public class LeafConfig {

    @Bean
    public SpringSecurityDialect springSecurityDialect(){
        return new SpringSecurityDialect();
    }

}

POM

<dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity5</artifactId>
        <version>3.0.4.RELEASE</version>
</dependency>

此外,如果您使用的是 <artifactId>spring-boot-starter-parent</artifactId>,请不要向 Thymeleaf Extras 添加任何版本,让 Spring Boot 为您管理。