Maintaining session objects across mulitple windows

In my main class (which extends Application) I create multiple Windows, each window contains a shared header component(a layout class). To enable user navigation within the web site I use buttons as links which works.

My problem is once I have successfully logged in on my main page and added the user details to the HttpSession via applicationInstance.setUser(userDetailsObject) and navigate to another “page” (window) via my button links which is constructed with the code :

getWindow().open(new ExternalResource(app.getWindow(“WindowName”).getURL()))

my session is then set to null, how does one maintain the same session object across different windows ?

Also, when prefixing the window names with a hash and attempting to perform an initial load of the site, the main page fails to load, what is the cause and solution for this?