Spring UsernameNotFoundException(Message) auf der View Message ausdrücken

Dimax

Top Contributor
Hallo ,
wie kann mann die Message ausdrücken->
Java:
  User user = userRepo.findByUsername(username);
          
            if (user == null) {
                throw new UsernameNotFoundException("User not found");
            }else {}
            if(!user.isActive()) {
                throw new UsernameNotFoundException("Benutzer deaktiviert!");
            }else {}
          //  System.out.println("user active "+user.isActive());
            return new CustomUserDetails(user);
            
        }
auf dieser View->
HTML:
 <div th:if="${param.error}" >
           <span th:text="${session['SPRING_SECURITY_LAST_EXCEPTION'].message}"></span><!--an dieser Stelle brauche ich die Message-->
        </div>
        <div th:if="${param.logout}">
            Sie sind abgemeldet.
        </div><div class="m-3" style="margin-left:50%;margin-top:10%;">
 
Um die Meldung in deiner Java-Klasse auf deiner HTML-Seite anzuzeigen, musst du sie als Attribut in der Session speichern und anschließend in deinem HTML-Template auslesen.

In deiner Java-Klasse kannst du das Attribut wie folgt speichern:
Java:
HttpSession session = request.getSession();
session.setAttribute("message", "Benutzer deaktiviert!");
In deinem HTML-Template kannst du das Attribut dann auslesen und anzeigen, indem du es in einem th:text-Attribut verwendest:
HTML:
<div th:if="${session.message}" >
    <span th:text="${session.message}"></span>
</div>
Bitte beachte, dass du in deiner HTML-Seite möglicherweise auch das th:if-Attribut verwenden musst, um zu überprüfen, ob das Attribut in der Session vorhanden ist, bevor du versuchst, es anzuzeigen.
 

Zurück
Oben