[Bese-devel] unwinding
Jan Rychter
jan at rychter.com
Tue Sep 27 12:53:05 UTC 2005
> Hi,
> First, here is a solution I like better:
>
> (defaction logout ((c login-mixin))
> (setf (get-session-value 'user) nil) ; remove login info
> (setf (ucw::frame.window-component (ucw::context.current-frame *context*))
> (make-instance 'main))) ; simply throw away all the components
>
> It works as I wanted. I just need to try it 1000 times and see if it leaks
> memory... What do you think? (I do not count data that I may be stuffing
> somewhere, but just UCW.)
On a related note, I believe this functionality should be part of
UCW. UCW should fully handle sessions and authorization, but not user
credentials handling -- so it should have an API for hooking in user
credential checking.
This will not be a simple API, because it isn't UCW's job to specify how
a user should log in or what the credentials actually are, so external
code will need to interact wich UCW here. But UCW should provide
login/logout functionality and access rights checking at every point.
--J.
More information about the bese-devel
mailing list