如何使用Jackrabbit 2.18.0启用基于jwt令牌的身份验证

时间:2019-05-21 06:05:37

标签: jwt jackrabbit

我有Jackrabbit 2.18.0应用程序,需要在其中启用基于JWT的令牌。

我们需要一种机制,将用户与特定的工作空间绑定在一起。

我尝试使用DefaultSecurityManager,UserPerWorkspaceUserManager,DefaultAccessManager和DefaultLoginModule的组合。

但是我无法做几件事:

  1. 如何创建用户和组并将其与特定的工作空间绑定,以使他们看不到其他工作空间中的数据。
  2. 如何启用基于JWT的令牌或任何其他类型的基于令牌的登录。

如果有人可以提供xml配置和示例代码来完成这两种情况,那将非常有帮助。 没有任何文档可以帮助我实现这一目标:(。

    <!-- SecurityManager class="org.apache.jackrabbit.core.UserPerWorkspaceSecurityManager" workspaceName="security" -->

    <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager"> 
           <!-- 
           optional user manager configuration 
         --> 
         <UserManager class="org.apache.jackrabbit.core.security.user.UserPerWorkspaceUserManager"> 
           <param name="usersPath" value="/home/users"/> 
           <param name="groupsPath" value="/home/groups"/> 
           <param name="defaultDepth" value="1"/> 
           <param name="autoExpandTree" value="true"/> 
           <AuthorizableAction class="org.apache.jackrabbit.core.security.user.action.AccessControlAction"> 
             <param name="groupPrivilegeNames" value="jcr:read"/> 
             <param name="userPrivilegeNames" value="jcr:all"/> 
           </AuthorizableAction> 
         </UserManager> 

           <!-- 
           optional workspace access manager configuration 
         --> 
       </SecurityManager> 
     <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager">
     </AccessManager>

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

0 个答案:

没有答案