[Zope-dev] Using LoginManager with users stored in several Specialists
Itai Tavor
itai@optusnet.com.au
Tue, 24 Oct 2000 21:05:49 +1100
Hi,
I have two different types of users - Customers and Resellers. Each
one is stored in a separate ZClass and managed by a separate
Specialist. I need to be able to authenticate users from both user
lists, as well as a third group for people working locally on the
site - Managers, Customer Service, etc.
So I thought I could store a 'LoginProperties' propertysheet in each
of the two ZClasses, and use a separate UserSource to access each
one. The local users will be handled by a PersistentUserSource.
My questions are:
- Is this a good idea? It seems better to me than storing all users
in a PersistentUSerSource (from the Membership product) and mapping
from it to the Customer and Reseller classes. Each type of user is
created and managed in different ways so it won't make sense to
manage all users from one place.
- I'm not sure how to customize a UserSource to access the
propertysheets on the Customer and Reseller classes. The easiest way
seems to be to define userExists, userRoles and userAuthenticate
methods in a GenericUserSource, but I don't think it's a good idea -
I still wouldn't know how to make changes to the propertysheet from
the LoginManager (for example, changePassword should be a method of
acl_users, not of the user classes, because it does the same thing
for all user types), and there is no caching. Should I write my own
UserSource? Or can I do it with Data Plug-ins? I'd like to keep the
solution simple, but I do want it to be efficient (fast and cached).
TIA,
Itai
--
Itai Tavor "Je sautille, donc je suis."
C3Works itai@c3works.com - Kermit the Frog
"If you haven't got your health, you haven't got anything"