我为一项作业制作了网站标题,我希望能够根据他们是否登录来显示不同的内容。问题是秒:授权无法正常工作,没有错误或警告表明原因。
这是我的头文件,我试图在其中显示登录和注册(如果未登录)和注销(如果已登录)。但无论如何,它们都会出现。
<!DOCTYPE html>
<html lang="en" xmlns:th="http://thymeleaf.org" xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<header class="masthead mb-auto" th:fragment="header">
<div class="cover-container d-flex h-100 p-3 mx-auto flex-column">
<div class="inner">
<div class="Lucida_Handwriting">
<a class="Lg" href=".." >
<h3 class="logo-brand" id="Logo">Divorce app</h3>
</a>
</div>
<nav class="nav nav-masthead justify-content-center">
<a class="nav-link active" href="/" th:href="@{/}">Home</a>
<a sec:authorize="!isAuthenticated()" class="nav-link" href="/login" th:href="@{/login}">Login</a>
<a sec:authorize="isAuthenticated()" class="nav-link fw-bold py-1 px-0" href="/logout" th:href="@{/logout}">Logout</a>
<a sec:authorize="!isAuthenticated()" class="nav-link fw-bold py-1 px-0" href="/register" th:href="@{/register}">Register</a>
<a class="nav-link" href="/contact">Contact</a>
</nav>
</div>
</div>
</header>
</body>
</html>
这是我的依赖项。
spring-boot-starter-security
& spring-boot-starter-thymeleaf
的版本是 3.0.1
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
还注意到它在 html 中传递,但我认为不应该这样做
<a sec:authorize="!isAuthenticated()" class="nav-link" href="/login">Login</a>
<a sec:authorize="isAuthenticated()" class="nav-link fw-bold py-1 px-0" href="/logout">Logout</a>
<a sec:authorize="!isAuthenticated()" class="nav-link fw-bold py-1 px-0" href="/register">Register</a>
尝试使用
thymeleaf-extras-springsecurity4
但没有成功。
尝试使用旧版本的thymeleaf-extras-springsecurity5
,但这也不起作用。
尝试用 xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity5"
替换 xmlns:sec="http://www.thymeleaf.org/extras/spring-security"
但没有成功。
编辑:添加了 html 代码而不是图像
尝试添加以下代码:
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"