On Feb 28, 2005, at 3:51 PM, Mario Ruggier wrote: > Hi, > > i needed to put in place form-based login and page access control, and > looking around there are only bits and pieces of suggestions and code > to show how this is done. So I have tried to put them together into a > working demo, and extended altdemo.py, in qx2, to show how this can be > done in a clean idiom, using AccessControlled and _q_access and > NotLoggedInError. This may not matter, but the next Dulcinea release uses a different mechanism from before. Basically, it uses a a special exception to break out of the normal traversal, but the application code sets everything on the response before raising the "RespondNow" exception. This puts the formatting of "interrupted" traversals more directly under the control of the application program. I think Quixote would be be better if it used this pattern instead of PublisrErrors, but the change would be pretty disruptive to existing applications.