[Zope] Access Control vs Publishing Protoco
Dieter Maurer
dieter@handshake.de
Tue, 10 Oct 2000 21:32:07 +0200 (CEST)
Seb Bacon writes:
> For me, the 'visibility' problem is a real bugbear. Apart from the
> 'security' issue of anon. users being able to list objectIds, it means I am
> loathe to allow clients to manage their sites through the manage interface.
> This is because they'll see it littered with methods which pop up a login
> box whenever they click on them. It looks horrible and unprofessional.
I just tried what would happen (as I did not believe it would be
as bad as you described it):
* I gave "Anonymous" the "View Management Screens" permission
for a folder.
* I was then able to access the manage URL for the folder
(without authentication), but the main frame displayed
an acquired "index_html" rather than the folders content
view.
* I tried to manage a containing DTML method, but a login
was requested: "No authentication header".
Apparently, DTML method management requires at least
an authenticated user.
Thus, I played with an authenticated user.
The behaviour was not too bad (though not completely satisfactory).
As you expected, the folder contents displayed all containing
objects, even objects I did not have "View" permissions.
When I clicked on such an object, I got an "manage_workspace" screen
with just the "ownership" tab. Not overwhelming but not too bad either.
When I had "View" permissions but no "change" permissions, I
did not get a "manage_workspace" screen, but the object was
viewed automatically. Not what I would have expected, but not too bad
either.
When I had a "change" permission, I got the expected "manage_workspace"
screen.
> Anyway, I agree with Dieter / Chris. Adding a 'URL Traversable'
> ('listable'?) permission to all objects and then tweaking methods that do
> the traversing (objectIds, objectValues) would presumably fix this? Would
> this be easy? I've never had a look at the security internals, but I'm
> looking forward to having a go...
I think, the implementation would be easy.
Management, however, would be more difficult, as there are no
good defaults for the "URL Traversable" permission.
It is not easy, to determine (e.g.) for a DTML method/document
whether it is only used as a component (such as
"standard_html_header") or is a full grown presentation method.
Dieter