lujie wrote:

    1. The accessmanager's performance. See i have 10000 nodes for query, i
know there only fifty nodes that i have access to read. But in the worst
situation, the fifty nodes is count between 8000 to 8050. So,i have to
iterator to skip previous 7999 nodes to get the actual result, the skipping
is not just without loading the node, because accessmanage must check the
access right.
        what i'm doing is using xpath such as @jcr:contains("reader
access","admin") to avoid loading much nodes. But you see, this is not a
usual way.
I have implemented access manager for our application that read permissions from the repository, similar set-up. And experienced very similar problems. First, want to make sure that you are aware that access manager lifespan is the same as a session, so each session will have it's own manager.
  Second be prepared to receive 1-2 million requests to fetch a few hundred 
nodes.
So the best approach is to cache access rights. We do it by XPath that allow for some optimization, for instance if `/jcr:root/node1` is read-only so any path that start from `/jcr:root/node1` is read-only, and decision can be made without fetching the node again.

--
Ivan Latysh
[EMAIL PROTECTED]

Reply via email to