Używam Spring Boot z Thymeleaf i Spring Security. Mam prosty widok z linkiem do logowania. Gdy użytkownik się zaloguje, chcę zmienić link logowania na link wylogowania.Thymeleaf z Spring Security - jak sprawdzić, czy użytkownik jest zalogowany, czy nie?
Próbowałem:
<div sec:authorize="#{isAuthenticated()}">
<a th:href="@{/logout}">Log out</a>
</div>
<div sec:authorize="#{isAnonymous()}">
<a th:href="@{/login}">Log in</a>
</div>
ale to nie działa - wyświetla zarówno linki.
Pozdrawiamy.
EDYTOWANIE: I rozwiązano go. Musiałem zarejestrować dialekt Thymeleafa. W tym celu, stworzyłem nową klasę config, który tworzy SpringSecurityDialect Fasola:
@Configuration
public class ThymeleafConfig {
@Bean
public SpringSecurityDialect springSecurityDialect(){
return new SpringSecurityDialect();
}
}
Miałem dokładnie ten sam problem - dziękuję. Nie powinno to być tak trudne, aby to zadziałało. –
Metoda "SpringSecurityDialect" jest dostępna tylko w wersji "2.1.0.RELEASE"? Nie mogę użyć najnowszej wersji => 2.1.2.RELEASE ... –