Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 12877 invoked from network); 31 Oct 2008 10:15:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 31 Oct 2008 10:15:41 -0000 Received: (qmail 54570 invoked by uid 500); 31 Oct 2008 10:15:43 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 54222 invoked by uid 500); 31 Oct 2008 10:15:43 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 54187 invoked by uid 99); 31 Oct 2008 10:15:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Oct 2008 03:15:41 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 Oct 2008 10:14:34 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id CB5DF234C25E for ; Fri, 31 Oct 2008 03:14:44 -0700 (PDT) Message-ID: <148190141.1225448084832.JavaMail.jira@brutus> Date: Fri, 31 Oct 2008 03:14:44 -0700 (PDT) From: "angela (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Updated: (JCR-643) Own AccessManager + VersionManager : AccesDenied problem In-Reply-To: <25681206.1164296222040.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/JCR-643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] angela updated JCR-643: ----------------------- Attachment: VersionStorageAccessTest.java > Own AccessManager + VersionManager : AccesDenied problem > -------------------------------------------------------- > > Key: JCR-643 > URL: https://issues.apache.org/jira/browse/JCR-643 > Project: Jackrabbit > Issue Type: Bug > Components: jackrabbit-core, versioning > Affects Versions: 1.4, 1.5.0 > Reporter: Andrey > Attachments: VersionStorageAccessTest.java > > > I have implemented my own AccessManager, and everything works fine, until I want to use versioning (mix:versionable). > When I try this code: > Node root = session.getRootNode(); > if (root.canAddMixin("mix:referenceable")) root.addMixin("mix:referenceable"); > Node new_node = root.addNode("some_name"); > if (new_node.canAddMixin("mix:referenceable")) new_node.addMixin("mix:referenceable"); > if (new_node.canAddMixin("mix:versionable")) new_node.addMixin("mix:versionable"); > // here I grant privileges to new_node > handler.addACL(root.getUUID(), new_node.getUUID()); > session.save(); > I have a AccessDeniedException, then I look at jackrabbit sources (VersionManagerImpl.java) and found this: > public VersionHistory createVersionHistory(Session session, final NodeState node) > throws RepositoryException { > InternalVersionHistory history = (InternalVersionHistory) > escFactory.doSourced((SessionImpl) session, new SourcedTarget(){ > public Object run() throws RepositoryException { > return createVersionHistory(node); > } > }); > // HERE IS new version node created > if (history == null) { > throw new VersionException("History already exists for node " + node.getNodeId()); > } > // AND HERE you want to check privileges for newly created node > return (VersionHistory) ((SessionImpl) session).getNodeById(history.getId()); > } > // so, SessionImpl ask ItemManager for NodeImpl, > // ItemManager ask AccessManager about Item privileges ( session.getAccessManager().isGranted(id, AccessManager.READ) ), > // and my AccessManager don't know anything about this Item, so it (Item) haven't any privileges, > // and I have a AccessDeniedException > Did I miss something? Can I use versioning with own AccessManager? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.