[Seaside] Fatal Flaw in my Web App!
Richard K Eng
richard.eng at rogers.com
Fri May 23 19:31:07 UTC 2008
I have a puzzling problem. I've made some changes to do what you suggest.
I've subclassed WASession:
WASession subclass: #GSSession
...with instance variable #database. I've created #unregistered as follows:
database ifNotNil: [database logout].
I've put the following in #GSRegistrationLogin (my root component for the
self application preferenceAt: #sessionClass put: GSSession
And when the user logs out, the following is executed:
callback: [self session expire];
with: [html paragraph style: 'color: red'; with: [html strong:
But the #unregistered doesn't always get executed. Sometimes, not at all!
And sometimes, much later, as in the *next* time I login and logout (?!).
What am I doing wrong?!! Shouldn't session expiry *always* cause
#unregistered to execute?
I usually store my glorp session on the seaside session, and upon
expiring, it sends logout to the glorp session.
This has the dual benefit of the above, and having easy accessor to
glorp in the form of:
self session glorpSession
anywhere in my Tasks/Components.
More information about the seaside