About performance: You mean that the result is generated first, and this is filtered against the ACL. I remember from my own experience that this was a horror in Alfresco a couple of years ago, when a system had to query a large archive of insurance policies. Are there plans to optimize this?

Jos

On 11/08/2010 03:18 PM, Ian Boston wrote:
Oops, I see you referenced our docs on the subject,
The scripts need to be executed on ACL evaluation since the user and time are 
input parameters.
Since they are inside the AccessManager, the system session would be the one 
executing the scripts.
Performance is an issue, but we normally deal with that with caching of the 
result against user.

Ian

On 8 Nov 2010, at 14:03, Ian Boston wrote:

We have been using exrta properties on ACE's to allow the AccessControlManager 
to determine if the ACE is enabled for the current user and the current time.

Ian

On 8 Nov 2010, at 14:01, Clemens Wyss wrote:

Often the basic ACL features are not sufficient to represent all authorization 
needs (http://dev.day.com/content/ddc/blog/2009/01/theaclisdead.html ).

Wouldn't it be nice if we could define our authorization needs in an "Authorization 
DSL" ( in Groovy or jRuby ;-) ) which then could be applied to a node, or even 
better a node type?

What about a mixin type:

[sling:ScriptedACL]
mixin
+ sling:aclScript protected mandatory

The aclScript would be written in the Authorization DSL. Predefined variables 
would provide access to the current node, session, etc

"Dynamic ACL" 
(http://confluence.sakaiproject.org/display/KERNDOC/KERN-629+Time+base+ACL) would become 
a subset of this feature as this could be solved alike.

I agree, there are still many open points such as:
- who should execute these scripts?
- when should these scripts be executed?
- performance implications?

WDYT?


Reply via email to