Skip to content

delete_confirmation permission inconsistency #242

@reinhardt

Description

@reinhardt

The delete_confirmation view does not enforce Delete objects permission on the parent of an object, but the delete action in CMFPlone does.

The delete_confirmation view registration only requires Delete objects on the object itself. It calls parent.manage_delObjects, which has a @security.protected(permissions.DeleteObjects) declaration, but this is not enforced when calling the method in python like this, only when calling it through the web, ZMI style.

I'm not sure whether this leads to a problem in the real world, but theoretically, if I have delete permission on an object but not its parent, then I'm not seeing the delete button in the UI, but I can still go to the delete_confirmation view by typing the URL and delete the object anyway.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions