java - 如何解决这个: Exception evaluating SpringEL expression: "#authorization.expression(' isAuthenticated( )')"?

标签 java class spring-boot exception

我正在开发一个简单的项目来实现 Spring 安全。 当我尝试使用 Spring 和 Thymeleaf 的 Logout 链接时,问题就出现了。

1.pom.xml

    <!--Spring Boot Dependencies  - Security -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

    <!-- Dependencies Spring Security-->
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
        <version>2.1.2.RELEASE</version>
        <scope>compile</scope>
    </dependency>

导航栏.html

<ul class="nav navbar-nav navbar-right">
                <!--<li><a th:href="@{/login}" th:text="#{navbar.login.text}"></a></li>-->
                <li th:if="${#authorization.expression('isAuthenticated()')}">
                    <a th:href="@{/login}" th:text="#{navbar.login.text}"/>
                </li>
                <li th:if="${#authorization.expression('isAuthenticated()')}">
                    <form id="f" th:action="@{/logout}" method="post" role="form" class="navbar-form">
                        <button type="submit" th:text="#{navbar.logout.text}" class="btn btn-primary"/>
                    </form>
                </li>
            </ul>

错误截图: enter image description here

最佳答案

当 Thymeleaf Extras Spring Security 版本与 Spring Framework 版本不兼容时,会发生此错误,在这种情况下,Spring Boot 版本适用于 Spring Framework 版本 5.x,而您拥有的 Thymeleaf Extras Spring Security 版本为 4 。X。您需要更新 pom.xml 中的artifactId,然后选择兼容版本或让 Spring Boot 为您选择版本

<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-springsecurity5</artifactId>
    <scope>compile</scope>
</dependency>

关于java - 如何解决这个: Exception evaluating SpringEL expression: "#authorization.expression(' isAuthenticated( )')"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52761395/

相关文章:

java - 在 Java 上传递 MATLAB 对象作为输入参数

java - Spring Batch 管理 UI - 覆盖文件上传位置

java - “找不到或加载主类”是什么意思?

python变量,类

Spring data solr 3.0.6 版本的基于 java 的配置

mysql - SpringBoot + Maven 连接并创建数据库架构

java - 在java中使用selenium webdriver登录Gmail

c++ - C++ 中的枚举 : how to pass as parameter?

spring-boot - 我如何配置gradle以启动和停止在构建完成后仍然有效的Spring Boot微服务?

java - 在具有多个测试目录的intellij idea中自动创建测试