Glad I could help

Werner


Georg Füchsle schrieb:
> Hallo Werner,
> 
> that was what I was looking for!
> Thanks for your fast and excellent help!
> 
> Cheers Georg
> 
> 
> 2009/8/20 Werner Punz <werner.p...@gmail.com>:
>> via getParameter, just the usual servlet way, have in mind that you have
>> to use the clientId, the in html displayed id of the input field. JSF
>> does an internal id mapping so  the id loginType might be mapped to a
>> value along the lines of <viewId>:<formId>:loginType
>>
>>
>>
>> Georg Füchsle schrieb:
>>> Hallo Werner,
>>>
>>> I have got the request as a variable.
>>> Now I want to read from it the state of the hidden input-field, that
>>> was on the jsf-Page.
>>>
>>> This is the input-field:
>>>
>>>
>>> <t:inputText    value="#{mbUser.loginType}"
>>>                id="loginType"
>>>                immediate="true"
>>>                style="display:none;visibility:hidden;"/>
>>>
>>>
>>> How can I read its value from the request?
>>>
>>> Thanks,
>>>
>>> Georg
>>>
>>> 2009/8/20 Werner Punz <werner.p...@gmail.com>:
>>>> FacesContext.getExternalContext().getRequest should point you towards
>>>> the servlet request.
>>>>
>>>> Werner
>>>>
>>>>
>>>> Georg Füchsle schrieb:
>>>>> 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
>>>>>                                       }
>>>>>                               }
>>>>>                       }
>>>>>
>>>>>               }
>>>>>       }
>>>>>
>>>>>
>>>>> }
>>>>>
>>
> 

Reply via email to