On 22 Feb 2007, at 14:47, Olivier Grisel wrote:
Florent Guillaume a écrit :
The security spec doesn't give any semantics to hasPermission() on a
group of permissions. Both AND and OR could make sense depending on the cases. So a basic permission should always be used, and if you need one
or the other semantic you should do hasPermission(doc, BROWSE) &&/||
hasPermission(READ_PROPERTIES).

We should really add a warning (and later an exception) in hasPermission
when a group of permission is used.

Yes I agree that's why I put the note. But to achieve that, the CoreSession need a refactoring since the READ permission is checked all over the place and I
decided to check it as well to remain consistent with the existing
implementation. I'll open a ticket to clean the permission checkings.

On the other hand, on a project here we're faced with the following use case: a customer needs to have finer-grained properties access than READ_PROPERTIES. So, for this project, we may have to subdivide READ_PROPERTIES into READ_BASIC_PROPERTIES and READ_BLOB_PROPERTIES. But we don't want to change all the code referring to READ_PROPERTIES to choose one or the other. So in fact the semantics of hasPermission on groups is clear: if someGroup is perm1 + perm2, then
  hasPermission(someGroup)
must be equivalent to
  hasPermission(perm1) && hasPermission(perm2)

BTW I think that if we have READ_PROPERTIES, the doc should be normally
in the breadcrumb, but if we only have BROWSE then it should be
displayed but without a link. I think that's the correct semantic
associated to these permissions.

Ok the problem is, to read dublincore.title you will probably need the
READ_PROPERTIES unless we add an new method like getDocumentTitle (Ref docRef) to
the CoreSession interface or something similar.

Hm yeah... :( Somehow BROWSE should allow reading very basic info about the doc, like its dublin core info...

Florent

--
Florent Guillaume, Director of R&D, Nuxeo
Open Source Enterprise Content Management (ECM)
http://www.nuxeo.com   http://www.nuxeo.org   +33 1 40 33 79 87



_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm

Reply via email to