Fet Biz a écrit :

Suppose "a" is an instance object of class A which implements interface IA,
in the configiure.zcml, "b" is a view for class A.

"a" is locked by requiring permission "A.canEdit".
"b" is intents to be public accessible (zope.Public).

My problem is that, since "b" is below "a", it's URL is:


when you just call "a" this way, it's supposed to call a default view such as /a/@@index.html or anything else defined as the default view. Otherwise you won't be able to publish "a" as is, unless it is publishable itself.

If you want to display "a" through the "b" view, but not through @@index.html you just have to allow the first one and disallow the second one. (or even to not register index.html at all)

If you have disallowed access to "a" itself but still want "b" to display it, you will have to removeSecurityProxy(a) in the b view.

Now, if b is not a view but an object contained in a, this is rather a matter of traversing.


is not accessible for public. then http://host.domain:8080/a/b is also not accessible neither.
although, "zope.Public" is declared in configure.zcml.

How can I get the "b" to be public? Just like the file permissions in the file system. which means, If file "b" contains in folder "a", we can set chmod "o+x" to "a" and "o+r" to "b",
which results "b" is accessible and "a" is not accessible?

(The use case is "a" for the membership container, "b" is the membership apply form which should be public to non-members)

Thanks in advance

Iap, Singuan
Zope3-users mailing list

Zope3-users mailing list

Reply via email to