[Seaside] Cookies (again?)
Avi Bryant
avi at beta4.com
Sun May 16 22:50:27 CEST 2004
On May 16, 2004, at 6:50 AM, David Röthlisberger wrote:
> For my purpose it is a little bit cumbersome to use HtmlStreamResponse
> to
> set a cookie, because I have a login form, then a user clicks on the
> 'login'-button, so the corresponding method #login is called, where I
> check
> user's nick and password and set a cookie. Afterwards I would like to
> call
> WAComponent>>answer, so there won't be any html response from the
> Login-Component. Now I had to render again the login-component, so I
> was
> able to set the cookie using HtmlStreamResponse. But it would be more
> convenient if it would be also possible to set a cookie before calling
> WAComponent>>answer or WAComponent>>call, then this cookie could be
> appended
> to the RedirectResponse (or something else).
That's a good point. It would be pretty easy to add a set of
#redirectWithCookie:... methods to WASession, eg,
login
self loginIsSuccessful ifTrue:
[self session redirectWithCookie: 'username' value: self username
expiry: (DateAndTime now + 1 hour).
self answer: true]
So you'd force a redirect that sets the cookie and then comes right
back. Also useful would be #checkForCookies - this would send back a
redirect response with a random cookie with short expiry, and then
check for it on the request:
[self session checkForCookies] whileFalse:
[self inform: 'Cookies must be enabled to proceed.']
Patches implementing this are welcome; otherwise I'll get around to it
soon enough.
Avi
More information about the Seaside
mailing list