[Zope3-dev] PAU trouble

Dominik Huber dominik.huber at perse.ch
Thu Aug 4 04:46:16 EDT 2005


Velko Ivanov wrote:

> Dominik Huber wrote:
>
>>
>> Provide ILocation by those adapters, use the
>> 'locatalbe' attribute of the adapter directive (-> location proxied) 
>> or set the permission explicitly to zope.Public.
>>
> Thanks for the reply
>
> PsycopgAdapter inherits ZopeDatabaseAdapter, which provides ILocation 
> via IContained. No <adapter> directives are used in the configuration 
> file, zope.Public is the least acceptable workaround.

There is a confusion between zope adapter and database adapter. Database 
adapters are regularly implemented as local utility (DA utility). 
Therefore a database adapter does provide IContained. The DA utitlity 
has to be invoked in your application somehow and that invocation 
*might* be happen with a zope adapter.

If such an potential zope adapter does not provide Location (or 
locatable=True within its adapter directive) the local authentication 
cannot be invoked because its context cannot be evaluated (None 
locations are global).

Whitout knowing further details about DA's, SessionCredentialsPlugin, 
etc your problem smells like a global/local-muddle. Maybe you could use 
the 'ZopeBasicRealm' and the 'No Challange if Authenticated' credential 
plugin to narrow the bug source. I use this configuration with different 
authenticator plugins and local/global principals.

Regards,
Dominik



More information about the Zope3-dev mailing list