Cześć,
Tak sobie rozkminiam nieśmiało Vaadina w zestawieniu ze spring-bootem i szukałem jakichś patentów na sensowne uwierzytelnienie. Trafiłem na Vaadin jak wygląda przechodzenie między UI/widokami?, gdzie @Koziołek podsunął osobne servlety na logowanie i resztę apki.
Zrobiłem sobie takie dwa UI:
Na wejście i logowanie
@SpringUI(path = "")
public class EntryPointUI extends UI {
@Autowired
SpringViewProvider viewProvider;
Navigator navigator;
@Override
protected void init(VaadinRequest request) {
getPage().setTitle("Entry point");
navigator = new Navigator(this, this);
navigator.addProvider(viewProvider);
navigator.navigateTo(LoginView.NAME);
}
@WebServlet(value = "/entry/*", asyncSupported = true)
public class EntryServlet extends SpringVaadinServlet {
}
}
oraz na pozostałą część apki:
@SpringUI(path = "")
public class MainUI extends UI {
@Autowired
SpringViewProvider viewProvider;
Navigator navigator;
@Override
protected void init(VaadinRequest request) {
getPage().setTitle("Navigation screen");
navigator = new Navigator(this, this);
navigator.addProvider(viewProvider);
navigator.navigateTo(StartView.NAME);
}
@WebServlet(value = "/main/*", asyncSupported = true)
public class MainServlet extends SpringVaadinServlet {
}
}
I teraz moja zagwozdka:
Wyposażenie UI w osadzony w nim servlet powinno je ze sobą sprządz (dla springVaadinServlet nie ma @VaadinServletConfiguration). Spodziewanym rezultatem było dla mnie, że wchodząc na http://localhost:8080/main trafię na odpowiedni UI.
Tymczasem obydwa UI są dostępne z poziomu domyślnego servletu. Oczywiście jeśli dam im różne ścieżki. Zlewane są kompletnie podane webservlety.
Gdzieś w tym wszystkim udało mi się pogubić...
Także wzorując się na źródle z początku posta również podejmuję próbę przyzwania lokalnego boga vaadinowego... :) nic tylko grzmotu słuchać...