0

如何使用 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();
4

1 回答 1

0

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

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

于 2011-07-20T17:12:40.280 回答