On Sat, 7 Oct 2000, ed colmar wrote:

> I've managed to get loginManager to install, but I am very confused as to
> what to do with it.

I was confused too :)

Now I have working instalation of LoginManager-0-8-7a1. It retrieves
users' data from ZODB, but it may be helpfull to understand how to
implement any other source, i.e. MySQL.
Probably I did it very dirty way, but it works ;)

First, I created my own UserSource class, adding it to source file
lib/python/Products/LoginManager/UserSources.py. Here comes the diff:


7c7
< from Products.ZPatterns.PlugIns import defaultConstructors
---
> from Products.ZPatterns.PlugIns import defaultConstructors, PlugIn
478a479,496
> 
> 
> 
> class OloloUserSource(BasicUserSource):
> 
>     """Moje własne źródło użytkowników"""
> 
>     meta_type = "Ololo User Source"
>     __plugin_kind__ = "User Source"
> 
> 
>     def retrieveItem(self,name):
>         Uzytkownicy=getattr(self.aq_parent, 'Uzytkownicy', None)
>         return getattr(Uzytkownicy, name, None)
> 
> 
> 
> 
489a508,514
>                        
>     )
> 
>     context.registerPlugInClass(
>         OloloUserSource,
>         permission = 'Add Ololo User Source',
>         constructors = defaultConstructors(OloloUserSource, globals()),


Method retrieveItem have to return user object with given name. I have
users inside folder Uzytkownicy beside acl_users.

Next thing to do is to create class representing users. It must have
LoginManager:LoginUser as a base class. So I made such ZClass. This class
has methods authenticateUser, domainsForUser, rolesForUser, which do real
work. (Users in folder Uzytkownicy are instances of that ZClass.)
This class contains some properties of user - login (it's just object's
id), name, other data. (Currently I store passwords externally, because I
need them to do POP3 authentication.)

Then, on management tab "User Sources" of your LoginManager instance, add
instance of your UserSource class. Check also for proper settings on
LoginMethods tab.


[EMAIL PROTECTED]

/--------------------------------------\
| `long long long' is too long for GCC |
\--------------------------------------/


_______________________________________________
Zope maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )

Reply via email to