[Seaside] Handling expired Session in Seaside 3.0
dtrussardi at tiscali.it
dtrussardi at tiscali.it
Wed Apr 11 11:09:44 UTC 2012
Ciao,
>
> Ciao,
>
>> Udo,
>>
>> As far as I know, you would need to create a specific subclass of WAApplication and override #handleExpired: to do what you want.
>> Then use that specific subclass to register your main component as an application (the standard WAAdmin>>register:asApplicationAt: uses WAApplication)
>
> I change the WARegistry #handleExpired: for do some test about the management of expired Session.
>
> Now it redirect to a specific url or to a WA entry.
>
> For example:
>
> handleExpired: aRequestContext
>
> aRequestContext redirectTo: 'http://www.localtest.com'.
>
>
> The relative WAComponent subclass ( register with the speciific WAAdmin>>register:asApplicationAt )
>
> define and display some component with Scriptaculous AJAX request and some anchor .
>
>
> Now after the session expired all the request are intercepted by the handleExpired: method.
>
>
> The anchor request work fine and the page is update.
>
> The problem is relative to the AJAX request because the redirectTo: don't do anything and the page isn't update.
OK, i found the problem.
It's relative to the Ajax request because it's based on html evaluator.
I define it with html updater and the page is update.
....... onChange: (
html updater
id: 'elementToUpdate';
triggerFormElement: id;
callback: [:r | rfrMasterHtml updateView: r]
)].
Now, when the session is expired and the user click on the link with html updater definition,
the redirectTo: is display in the DIV with the id declared by html updater ( 'elementToUpdate' in this case )
All this my work is relative to manage the expired session.
My goal is to redirect to a specific url when the user click any component relative to one expired session.
The solution to keep alive the session with:
(html scriptaculous periodical
interval: 30 seconds;
callback:[:x| self transcript] )).
don't complete solve the problem because for some situation this periodical update can may be lost
and the user can click on component relative to one expired session in some cases.
Manage the WAApplication subclass handleExpired: aRequestContext
intercept all activity relative to one expired session,
the problem is relative to component with ajax html updater because the redirectTo: url don't update the page but is rendering in the DIV
relative to html update statement.
How i can redirect and display the page in all cases ?
Thank,
Dario
>
>
>
> Some consideration about it ?
>
> Thank,
>
> Dario
>
>
>
>>
>> Overriding #initialRequest: on your initial component might be of help to know if the request was for an expired session. But you probably need to pass some info in the request in the #handleExpired: method.
>>
>> Now, this is all theory, I have no experience doing that myself ;-)
>> Let us know if you succeed.
>>
>> Johan
>>
>> On 02 Nov 2010, at 21:41, Udo Schneider wrote:
>>
>>> All,
>>>
>>> if this is just an RTFM question I'm happy to read on my own ... however I'm searching for a solution to handle expired sessions in Seaside 3.0. My goal is to either display a specific component when a request for an expired session is recieved or to be able to find out if a request was for an expired session in my initial component.
>>>
>>> Any pointers?
>>>
>>> CU,
>>>
>>> Udo
>>>
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20120411/817b7def/attachment.htm
More information about the seaside
mailing list