assigning proxy roles from python product, take 2
Hmm. No takers the first time. Quick review: python product, product instantiates a DTML method and tries to assign it a proxy role. Proxy role gets assigned, but a 'manager' account can no longer access the method, though superuser can. Zope 2.1.6. I played with the product some more, moving some stuff around, and this time when I instantiated it, the proxy role no longer seems to be working (I get a login box when I try to dereference the method). The manager/superuser behavior is the same. The folder is created using newWampumboxF = Folder(). Then a method named processCCTrans is added to this folder using a manage_addDocument call. That obviously works fine. I then try to add the proxy role by doing the following: x=newWampumboxF.processCCTrans x._proxy_roles=('Manager',) newWampumboxF.processCCTrans=x It seems to me from my reading of the code that this should be equivalent to what manage_proxy does, though obviously without the through-the-web security checks. But the end result is a DTML method that I can only view as superuser, but that has Manager checked in its 'proxy' management screen (as well as a perfectly normal appearing security page). Any guesses? Any suggestions for experiements to run, even? --RDM
Two things to try: x._proxy_roles=('Anonymous','Manager',) or x._proxy_roles=['Manager',] If one of them solves it, we'll try to figure out why. :-) Shane "R. David Murray" wrote:
Hmm. No takers the first time.
Quick review: python product, product instantiates a DTML method and tries to assign it a proxy role. Proxy role gets assigned, but a 'manager' account can no longer access the method, though superuser can. Zope 2.1.6.
I played with the product some more, moving some stuff around, and this time when I instantiated it, the proxy role no longer seems to be working (I get a login box when I try to dereference the method). The manager/superuser behavior is the same.
The folder is created using newWampumboxF = Folder(). Then a method named processCCTrans is added to this folder using a manage_addDocument call. That obviously works fine. I then try to add the proxy role by doing the following:
x=newWampumboxF.processCCTrans x._proxy_roles=('Manager',) newWampumboxF.processCCTrans=x
It seems to me from my reading of the code that this should be equivalent to what manage_proxy does, though obviously without the through-the-web security checks. But the end result is a DTML method that I can only view as superuser, but that has Manager checked in its 'proxy' management screen (as well as a perfectly normal appearing security page).
Any guesses? Any suggestions for experiements to run, even?
participants (2)
-
R. David Murray -
Shane Hathaway