[Zope-PAS] User ID mangling question
Lennart Regebro
regebro at nuxeo.com
Tue Sep 14 09:18:15 EDT 2004
Jens Vagelpohl wrote:
> So I'm going through the LDAPMultiPlugin right now trying to make it
> work with the latest PAS and I'm noticing that some mangling behaviors
> have changed.
>
> Specifically, the ID of the PropertiedUser is the mangled ID and not the
> ID the plugin itself has returned. When "validate" is called the first
> step after extraction (which returns the unmangled user IDs as seen by
> my plugin) is a call to _findUser. In _findUser the users are built with
> a call to _createUser, and that user object now carries a mangled ID. So
> in the next step, looking up user properties, my plugin gets a user with
> an ID that is not the one it knows about and returns garbage.
>
> I might have missed some discussion here, it's possible that my plugin
> does something wrong. Is a plugin supposed to know how to deal with a
> mangled ID or did something else go wrong?
Well, there has been some discussion on how it *should* work. But I
don't think it has been decided yet. Your input is welcome.
Another issue that has been decided is exactly what the prefix should
be. It is currently the id of authenticator plugin, but that means the
authenticator plugin and the enumeration plugin must be the same. And in
the case where you are not using username and password as credentials,
that also means that the extraction plugin must be the same. Which means
that if you want to use a single-signon solution with for example, your
LDAP directory, things suddenly get very complicated, and you need to
write an SSO-LDAP plugin that does everything. Which of course defeats
the whole idea of plugins.
For me, the only prefix that makes sense is the enumerator plugin. It
has been pointed out that some solutions use no enumerator but simply
accept the username from the authenticator, but that is clearly a
special case of having a sort of "dummy enumerator" that accepts that
all users imaginable exists. ;)
I think we need more brains on this. So how do you think it should work?
A small comment:
> "validate" is called the first step after extraction (which returns
> the unmangled user IDs as seen by my plugin)
No... I'm pretty sure _extractUserIds() mangles the ids. Maybe it
shouldn't, but it does.
More information about the Zope-PAS
mailing list