OK, ZopeLDAP is not doing what I want, so I am going to use python-ldap directly in a script. I make ldap module legal to use in a __init__.py file, I can now use the ldap module on my own... that is, I can so long as I do not attempt to bind to an ldap server. Site Error An error was encountered while publishing this resource. Unauthorized Sorry, a site error occurred. Traceback (innermost last): File /usr/local/zope/2.4.3/lib/python/ZPublisher/Publish.py, line 223, in publish_module File /usr/local/zope/2.4.3/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/local/zope/2.4.3/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr/local/zope/2.4.3/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: ldap_search) File /usr/local/zope/2.4.3/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: ldap_search) File /usr/local/zope/2.4.3/lib/python/Shared/DC/Scripts/Bindings.py, line 324, in __call__ (Object: ldap_search) File /usr/local/zope/2.4.3/lib/python/Shared/DC/Scripts/Bindings.py, line 354, in _bindAndExec (Object: ldap_search) File /usr/local/zope/2.4.3/lib/python/Products/PythonScripts/PythonScript.py, line 363, in _exec (Object: ldap_search) (Info: ({'script': <PythonScript instance at 1016700>, 'context': <PortalFolder instance at dc1b48>, 'container': <PortalFolder instance at dc1b48>, 'traverse_subpath': []}, (), {}, None)) File Script (Python), line 4, in ldap_search (Object: guarded_getattr) File /usr/local/zope/2.4.3/lib/python/AccessControl/ZopeGuards.py, line 122, in guarded_getattr File /usr/local/zope/2.4.3/lib/python/AccessControl/SecurityManager.py, line 149, in validate File /usr/local/zope/2.4.3/lib/python/AccessControl/ZopeSecurityPolicy.py, line 172, in validate Unauthorized: simple_bind_s I get this after it tries to reauthenticate me. What the heck is this, and how do I tell Zope security to shut up and leave me alone? Anonymous binds are not permitted by the LDAP server I am trying to connect to, so I have to bind as the directory manager. I will also be adding routines to add, delete, and modify entries in LDAP through Zope, so I need to make sure all my bases are covered here.