I have two scenes Login.fxml and MainView.fxml and two diferent controllers LoginController.java and MainViewControler.java
In LoginController I do the whole process
Use a variation on the solution in Passing Parameters JavaFX FXML.
Setup a LoginManager which has a reference to both the LoginController and the MainViewController.
loginManager creates a login screen using the loginController and passes a reference to itself to the loginController. loginController notifies the loginManager of the login sessionID. loginManager can then create a MainViewController, passing the mainViewController the sessionID and replacing the scene contents with the main view.Here is a link to some sample code to demonstrate this approach.
