Как предотвратить использование SimpleSecurityManager в JackRabbit? - PullRequest
0 голосов
/ 05 июля 2011

Как я могу остановить Jackrabbit с помощью SimpleSecurityManager?

Я пытаюсь вызвать session.getUserManager (), но получаю исключение хранилища, поскольку SimpleSecurityManager.getUserManager () его исключает.

<Security appName="Jackrabbit">
    <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
    </SecurityManager>

    <AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager">
        <!-- <param name="config" value="${rep.home}/access.xml"/> -->
    </AccessManager>

    <LoginModule class="org.apache.jackrabbit.core.security.authentication.DefaultLoginModule">
       <param name="anonymousId" value="anonymous"/>
       <param name="adminId" value="admin"/>
    </LoginModule>
</Security>

Остальной код для тех, кто спросит ...

Repository repository = new TransientRepository();
Session jackrabbitSession = repository.login(credentials);
UserManager userManager = session.getUserManager();

1 Ответ

0 голосов
/ 20 июля 2011

Менеджер пользователей является расширением Jackrabbit. Это не часть JCR. Итак, вам нужно использовать JackrabbitSession, а не просто Session Вот ссылка на вики:

http://wiki.apache.org/jackrabbit/UserManagement

...