application.properties = "main.datasource.url = jdbc:hsqldb:file:.jmix/hsqldb/tegastest
main.datasource.username = sa
main.datasource.password =
main.liquibase.change-log=com/company/tegastest/liquibase/changelog.xml
jmix.ui.login-view-id = LandingView
jmix.ui.main-view-id = MainView
jmix.ui.menu-config = com/company/tegastest/menu.xml
jmix.ui.composite-menu = true
ui.login.defaultUsername = admin
ui.login.defaultPassword = admin"
@AnonymousAllowed
@Route(value = “login”)
@ViewController(id = “LoginView”)
@ViewDescriptor(path = “login-view.xml”)
public class LoginView extends StandardView implements LocaleChangeObserver {
@Subscribe(“login”)
public void onLogin(final LoginEvent event) {
try {
loginViewSupport.authenticate(
AuthDetails.of(event.getUsername(), event.getPassword())
.withLocale(login.getSelectedLocale())
.withRememberMe(login.isRememberMe())
);
// If username is not 'admin', redirect to the RegisterFormView
if (!"admin".equals(event.getUsername())) {
// Use replaceState to avoid adding the previous view to the history stack
UI.getCurrent().navigate(RegisterFormView.class);
} else {
// If username is 'admin', proceed to MainView
UI.getCurrent().navigate(MainView.class);
}
} catch (final BadCredentialsException | DisabledException | LockedException | AccessDeniedException e) {
log.warn("Login failed for user '{}': {}", event.getUsername(), e.toString());
event.getSource().setError(true);
}
}
}
@AnonymousAllowed
@Route(value = “register-form-view”)
@ViewController(id = “RegisterFormView”)
@ViewDescriptor(path = “register-form-view.xml”)
public class RegisterFormView extends StandardView {
}
@Route("")
@ViewController(id = “MainView”)
@ViewDescriptor(path = “main-view.xml”)
public class MainView extends StandardMainView {
}
When click to go back in the browser , why it didn’t go to LoginView.java and go to MainView.class from RegisterFormView.class?