Ich benutze Spring Boot mit Thymeleaf und Spring Security. Ich habe eine einfache Ansicht mit einem Login-Link. Wenn sich der Benutzer anmeldet, möchte ich den Login-Link zum Logout-Link ändern.Thymoleaf mit Spring Security - Wie überprüft man, ob der Benutzer eingeloggt ist oder nicht?
Ich habe versucht:
<div sec:authorize="#{isAuthenticated()}">
<a th:href="@{/logout}">Log out</a>
</div>
<div sec:authorize="#{isAnonymous()}">
<a th:href="@{/login}">Log in</a>
</div>
aber es funktioniert nicht - es beiden Links angezeigt werden.
Mit freundlichen Grüßen.
EDIT: I gelöst es. Ich musste Thymeleaf Dialekt registrieren. Um dies zu tun, habe ich eine neue Config-Klasse, die SpringSecurityDialect Bean schafft:
@Configuration
public class ThymeleafConfig {
@Bean
public SpringSecurityDialect springSecurityDialect(){
return new SpringSecurityDialect();
}
}
Ich hatte genau das gleiche Problem - danke. Es sollte nicht so schwierig sein, das zum Laufen zu bringen. –
Die Methode 'SpringSecurityDialect' ist nur in Version '2.1.0.RELEASE' verfügbar? Ich kann nicht die neueste Version verwenden => 2.1.2.RELEASE ... –