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