[Zope-PAS] Re: help with scriptable plugin needed

Tim x at vex.net
Sat Apr 9 23:51:31 EDT 2005


Tegtmeyer, Frank wrote:
> 2. form based login (customized, not simply the challenge-plugin)
> 3. authorization through python scripts using ZSQL methods (or external
> scripts) 4. handing over the whole thing to the next (up) level user
> folder, if there is no user found

Not much action in this list lately, unfortunately. I am after much the same
as you describe above. 

I have actually written my own ZSQL based Role manager and User Manager...
it's *extremely* rough though. Kind of scary, even... as I'm using it in a
few projects, despite it's hackishness. I've been meaning to post it
somewhere (not sure where), but haven't had time to clean it up. 

Here's one piece of advice: don't try to do this by ignorantly hacking away
at the ZODBUserManager and ZODBRoleManager... that's what I did. And it
hasn't turned out very pretty. <-: On the other hand, you *eventually*
start to learn how things work after much frustration. 

ZODB handles data (and in particular, joining data) much differently than is
usually done in a relational model. At first I tried, for simplicity, to
mimic this... and still haven't completely escaped it.

I didn't try working this out with just using the Scriptable Plugin. I've
seen references to dropping ZSQL in there, but didn't really look into it.

I've also locked myself out countless times during trial-and-error
development of this. It's quite frustrating! I've taken a few approaches.
The one that seems to happen most is simply the deletion of the object I'm
working on and recreating it. A bit tedious. Also you can delete the
objects inside the folder more selectively via python prompt you load up
the ZODB, or live if you are using ZEO (or possibly Monitor Service?)...
you could no doubt deactivate the plugin using this method as well, but I
haven't looked up the call. (Sorry, it's been a month since i've been
active on this so I can't be more specific at the moment... but these in
general are the ways i've coped with the situation.)

Some sort of emergency fixing/deactivating via ZMI would be a great
feature...  

Allow fall through would be great as well... I never figured that out.

In short, this is a pretty ignorant and messy post. But I'm just glad to see
someone in this list... so i'm responding. (-:

Right now I'm just using it with basic http auth. But in the near future I'm
going to have to figure out the form based login stuff. But I'm just hoping
Cookie Auth Helper can be made to do what I want, when I get around to
looking into it.

The actual role/user management via ZMI in my plugin is extremely minimal.
This is because in my project I have custom interfaces to manage that data
in the database, so I didn't put much attention on this aspect. I don't
think I even finished the simple 'add user' in the ZMI. Also (I just
remembered) I think I've hard coded the available Roles for my apps! 

Anyhow, if my code sounds of any use to you, as embarrassing as it is, i can
toss you a copy, or find some place to post it on the web.

-- 
Tim Middleton | Vex.Net    | I felt very much alone, so I took another
x at veX.net     | VexTech.ca | ginger-snap. --Greene (TWMA)







More information about the Zope-PAS mailing list