jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Klimetschek <aklim...@adobe.com>
Subject Re: Getting a value by its data identifier
Date Tue, 12 Mar 2013 14:02:07 GMT
On 12.03.2013, at 12:32, Felix Meschberger <fmeschbe@adobe.com> wrote:

> Thus the proposed JackrabbitSession.getValueByContentIdentity(String) method would allow
for round tripping the JackrabbitValue.getContentIdentity() preventing superfluous binary
data copying and moving.

The idea sounds good to me :-) (Disclaimer: discussed this with Felix f2f before)

> Questions:
> 
> (c) Can we and if yes, how can we control access ?

It's a bit tricky, and I think the best way to do it is:
- by default no access at all (getValueByContentIdentity() returns null aka not found)
- have a special privilege for this feature, that you only want to enable for users that need
this feature
- because such a repository-wide optimization feature generally does require a user with wide
permissions
- nice to have: avoid that the content ID is a hash of the binary, so that an attacker (who
already go the above privilege) still cannot infer existence of a binary he knows; but then
he might have enough read & write access already, as a user with that permission is likely
to have broad rights, as for copying things over from one instance to another requires that

> (d) What else ?

This is practically only about Binaries and the FileDataStore, but the JackrabbitValue.getContentIdentity()
is generic across all value types. If there might be such a store for other properties in
the future, the content id must uniquely identify that store (e.g. value type) as well.

Cheers,
Alex



Mime
View raw message