Auf Thema antworten

Wenn Du bei Deinem Aufbau bleiben möchtest, dann ja. Der Nachteil ist dann eben, dass Du alle Unterseiten gleich zu Begin rendern musst, egal ob ein User auf eine Seite geht oder nicht. Zudem musst Du im Template die Buttons und den Content der entsprechenden Seite über ein th:if steuern, also solche die z.B. nur den Admins angezeigt werden sollen.



Ja, eben über REST, dann bekommst Du aber nur noch z.B. JSON Daten zurück und musst Clientseitig ein Template haben, dass die die Seite dann rendert. Daher auch vorhin mein Verweis auf React / Angular. Geht aber auch mit entsprechenden JavaScript Template Engines, wie Du möchtest.


Ich würde an Deiner Stelle aber erst einmal ohne Single Page App bleiben und alles mit Thymeleaf template und Spring Controllern machen. Hier könntest Du z.B. Thymeleaf layout (https://www.thymeleaf.org/doc/articles/layouts.html) verwenden, damit kannst Du eine globales Layout erstellen (z.B. Menü, Titel, Meta Daten) und ersetzt dann nur noch den Content der auf den Unterseiten unterschiedlich ist.

Dann behandelst Du jede Seite mit einem Controller Separat und kannst auch alle Spring Security Annotationen nutzen und der not authorized redirect funktioniert out of the box.



Oben