jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ulrich <For...@gombers.de>
Subject Fail to instantiate AccessControlManager
Date Tue, 16 Jul 2013 09:13:29 GMT
My program throws an exception when trying to instantiate
javax.jcr.security.AccessControlManager. For testing I have downloaded me a
jackrabbit-standalone-server-2.6.2.jar. I've started it on my Laptop (Windows 7,
Java 7.0.21) and ran my testprogram.
It gave me this results (see attached program for these messages):
Successfully connected to http://localhost:8080/server/. Workspace=default
Access Control is supported: true
Exception in thread "main" javax.jcr.UnsupportedRepositoryOperationException:
JCR-1104
        at
org.apache.jackrabbit.jcr2spi.SessionImpl.getAccessControlManager(SessionImpl.java:501)
        at de.ulrich.test.TestCaseACL.<init>(TestCaseACL.java:35)
        at de.ulrich.test.TestCaseACL.main(TestCaseACL.java:42)

I have attached the source, the pom.xml and the security-settings of the
jackrabbit-server. May I ask someone in the community to run my program as well,
to see whether he gets the same error. I've seen some samples in this forum of
people who are using the AccessControlManager - so it seems to work, normally.

In my program I verify the setting of
"Repository.OPTION_ACCESS_CONTROL_SUPPORTED", as described in the JCR-Specs
(JSR-283) Chapter 16. So, according to this reference, my program should work.

Any help is appreciated,
Ulrich



package de.ulrich.test

import javax.jcr.Credentials;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Value;
import javax.jcr.security.AccessControlManager;

import org.apache.jackrabbit.core.security.AccessManager;

public class TestCaseACL {

        public TestCaseACL() throws RepositoryException, Exception {
                String repositoryURI="http://localhost:8080/server/";
                String userid="admin";
                String password="admin";

                Repository repository =
org.apache.jackrabbit.commons.JcrUtils.getRepository(repositoryURI);
                Credentials cred= new SimpleCredentials(userid,
password.toCharArray());
                Session session = repository.login(cred);

                if (session.isLive())
                        System.out.println("Successfully connected to
"+repositoryURI+". Workspace="+ session.getWorkspace().getName() );

                Value[]
access=session.getRepository().getDescriptorValues(Repository.OPTION_ACCESS_CONTROL_SUPPORTED);
                for (Value value : access) {
                        System.out.println("Access Control is supported: "
+value.getString());
                }
                Thread.sleep(200);

                AccessControlManager acm =  session.getAccessControlManager();

                session.logout();
        }


        public static void main(String[] args) throws Exception {
                new TestCaseACL();
        }

}

The program was created with this pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>de.ulrich.test</groupId>
        <artifactId>justasample</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <build>
                <plugins>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <configuration>
                                        <source>1.7</source>
                                        <target>1.7</target>
                                </configuration>
                        </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-javadoc-plugin</artifactId>
                        </plugin>
                </plugins>
        </build>
        <dependencies>
                <dependency>
                        <groupId>org.apache.jackrabbit</groupId>
                        <artifactId>jackrabbit-standalone</artifactId>
                        <version>2.7.0</version>
                </dependency>
        </dependencies>
</project>






The repository.xml has set this security-tags:
<Security appName="Jackrabbit">
   <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager"
workspaceName="security"/>
   <AccessManager
  class="org.apache.jackrabbit.core.security.DefaultAccessManager"/>
   <LoginModule

   class="org.apache.jackrabbit.core.security.authentication.DefaultLoginModule"/>
</Security>

Mime
View raw message