Hallo all, when a session of an user timed out I display a Website telling 'Your Session expired; please login again!". Now I have to distinguish some 'loginType' of the user. If the user initially logged on by ldap i have to redirect him to another site as if he logged in by internal mechanisms.
So I have to access the user's logintype data after the session timed out. I was thinking on a solution without using cookies: To do so, I put the loginType data to a hidden input field on the website. I thought that this data is not lost doing a request after session timeout. Unfortunately at the restoreview-Phase the data was not already written to the bean. But I think: in the request there will be sent also the information from the old (session timed out) page. So I also should be able to read the value of this input-field 'loginType'. Is there any possibility to read from the request? Can anybody tell me if I am right, and tell me how to read this data? I use JSF Tomahawk and Facelets. Thanks! Here my input-text: <t:inputText value="#{mbUser.loginType}" id="loginType" immediate="true" style="display:none;visibility:hidden;"/> here my PhaseListener: class PhaseListener { public void beforePhase(PhaseEvent event) { if(event.getPhaseId() == PhaseId.RESTORE_VIEW) { /* before processing any request, I control if the User is logged in to the application: */ UserBean user = JsfUtils.getUserBean(); if(!user.loggedIn()) { /* User is not logged in! */ ExternalContext extCtx = event.getFacesContext().getExternalContext(); HttpServletRequest request = (HttpServletRequest) extCtx.getRequest(); String reqUri = request.getRequestURI(); if(startOrErrorPageIsCalled(reqUri)) { /* Users that are not logged in are only allowed to see the login-page or the error pages... */ return; } else { /* Users that is not logged in tried to request the application. I want to redirect him to a page 'sessionExpired' depending on his former loginType; this loginType I want to save on the website; */ // HERE THE LOGINTYPE WAS NOT reset to the Bean. is there any other possibility to read this value from the request? if(user.getLoginType() == 1) { event.getFacesContext().getExternalContext().redirect(JsfUtils.getKontextRoot() + "sessionExpired.jsf"); } else { // redirect him to another website } } } } } }