[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