Spring Security方言sec:未解析授权

时间:2018-11-11 19:16:13

标签: spring security spring-security thymeleaf dialect

我正在使用Spring Boot 2.1.0和Spring Security构建一个小型应用程序。 我可以使用表单身份验证登录和注销。但是,不会解析或评估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>

不知道我在想什么

1 个答案:

答案 0 :(得分:1)

在没有提供太多信息的情况下,可能有一些东西可能设置不正确。无论如何,通过添加缺少的依赖项或更改所使用的依赖项,往往可以始终解决此问题。因此,首先尝试更改为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为您进行管理。