如何防止在JackRabbit中使用SimpleSecurityManager?

时间:2011-07-05 09:31:34

标签: jackrabbit

我如何使用SimpleSecurityManager停止Jackrabbit?

我正在尝试调用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 :(得分:0)

用户管理器是Jackrabbit扩展。它不是JCR的一部分。因此,您需要使用JackrabbitSession,而不仅仅是会话。这是wiki的链接:

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