[Zope] LDAPUSerFolder permission problem

Nicholas Watmough nickw at deakin.edu.au
Tue Jul 12 09:03:03 EDT 2005


I'm trying to access the getProperty() method of the LDAPUser class in a 
Python script, in order to access the Active Directory email address of 
the user.

There is no problem with this, if I use the method on the current active 
user. However, it doesn't work when I attempt to use the method on 
another property.

The output of VerboseSecurity is:

*Error Type: Unauthorized*
*Error Value: Your user account does not have the required permission. 
Access to 'getProperty' of nwuser denied. Your user account, abuser, 
exists at /acl_users. Access requires one of the following roles: 
['Manager']. Your roles in this context are ['Anonymous', 
'Authenticated', 'User'].*

It appears that the currently authenticated used has the 'View' 
permission (required to use getProperty) on itself, but not for other 
users. I'm not sure how to change this.

In order to get around this problem, I've tried giving the script a 
Proxy role of Manager. However, when I do this, i get the following 
output from VerboseSecurity:

*Error Type: Unauthorized*
*Error Value: The owner of the executing script is defined outside the 
context of the object being accessed. The script has proxy roles, but 
they do not apply in this context.. Access to 'getProperty' of nwuser 
denied. Access requires one of the following roles: ['Manager']. The 
executing script is (PythonScript at 
/DCARF/Forms/initialContact/initialContact), owned by admin1.
*

**
I'm not sure why this is occurring. Giving the script a proxy role of 
Manager should get around the first problem, but I'm not sure why it 
doesn't.

Any ideas what is causing this?



More information about the Zope mailing list