Re: how to read data from the request after session timeout?

2009-08-20 Thread Werner Punz
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 :
>> 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 ::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:
>>>
>>>
>>> >>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 :
 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:
>
>
>
>    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");
>   }
>  

Re: how to read data from the request after session timeout?

2009-08-20 Thread Georg Füchsle
Hallo Werner,

that was what I was looking for!
Thanks for your fast and excellent help!

Cheers Georg


2009/8/20 Werner Punz :
> 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 ::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:
>>
>>
>> >                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 :
>>> 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:



 >>>               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
                                     

Re: how to read data from the request after session timeout?

2009-08-20 Thread Werner Punz
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 ::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:
> 
> 
> 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 :
>> 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:
>>>
>>>
>>>
>>> >>   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
>>>   }
>>>   }
>>>   }
>>>
>>>   }
>>>   }
>>>
>>>
>>> }
>>>
>>
> 



Re: how to read data from the request after session timeout?

2009-08-20 Thread Georg Füchsle
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:





How can I read its value from the request?

Thanks,

Georg

2009/8/20 Werner Punz :
> 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:
>>
>>
>>
>> >               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
>>                                       }
>>                               }
>>                       }
>>
>>               }
>>       }
>>
>>
>> }
>>
>
>


Re: how to read data from the request after session timeout?

2009-08-20 Thread Werner Punz
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:
> 
> 
> 
>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
>   }
>   }
>   }
>   
>   }
>   }
> 
> 
> }
> 



how to read data from the request after session timeout?

2009-08-20 Thread Georg Füchsle
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:



   





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
}
}
}

}
}


}