[Zope] ZEO client authentication
Sascha Ottolski
sascha.ottolski at gallileus.de
Mon Oct 3 11:40:27 EDT 2005
Am Montag, 3. Oktober 2005 14:44 schrieb Mika, David P (Research):
> I see that ZEO supports a simple digest authenitcation of clients and that
> this is set in the zeo's config file with the keys:
> authentication-protocol, authentication-database and authentication-realm.
>
> Further, I can see that a client can connect using e.g. ZEO.ClientStorage
> with arguments for a userid & password (set in the ZEO authentication
> database). However, how does one configure Zope (as a client to the ZEO
> server) to use this authentication? I see nothing in the Zope config file.
> Somehow Zope must be able to pass a valid userid and password in the
> authentication database to ZEO.
>
> Dave
Hi Dave,
this might help, although it's not written by me so I'm not 100% sure that
I've picked up everything:
small patch to lib/python/ZODB:
--- config.py (revision 37730)
+++ config.py (working copy)
@@ -150,7 +150,10 @@
max_disconnect_poll=self.config.max_disconnect_poll,
wait=self.config.wait,
read_only=self.config.read_only,
- read_only_fallback=self.config.read_only_fallback)
+ read_only_fallback=self.config.read_only_fallback,
+ username=self.config.username,
+ password=self.config.password,
+ realm=self.config.realm)
class BDBStorage(BaseConfig):
Index: component.xml
===================================================================
--- component.xml (revision 37730)
+++ component.xml (working copy)
@@ -132,6 +132,16 @@
read_only_fallback should be true.
</description>
</key>
+ <key name="username" required="no">
+ <description>
+ The authentication username of the server.
+ </description>
+ </key>
+ <key name="password" required="no">
+ <description>
+ The authentication password of the server.
+ </description>
+ </key>
<key name="realm" required="no">
<description>
The authentication realm of the server. Some authentication
something like this in your zeo.conf <zeo> section:
<zeo>
...
authentication-protocol digest
authentication-database $INSTANCE/etc/auth.db
authentication-realm your_realm
...
</zeo>
obviously, a username/password in $INSTANCE/etc/auth.db (ZEO instance, that
is):
$ cat /mnt/zope/ZEOHome/etc/auth.db
realm your_realm
your_username: your_crypted_password
and something like this in your zope.conf:
<zodb_db main>
mount-point /
cache-size 10000
<zeoclient>
server localhost:1234
username your_username
password your_cleartext_password
...
...
</zeoclient>
</zodb_db main>
now, I'm not sure how to create the encrypted password, I guess zpasswd.py
will help.
Good luck,
Sascha
--
Gallileus - the power of knowledge
Gallileus GmbH http://www.gallileus.info/
Pintschstraße 16 fon +49-(0)30-41 93 43 43
10249 Berlin fax +49-(0)30-41 93 43 45
Germany
More information about the Zope
mailing list