Как включить аутентификацию на основе токенов jwt с Jackrabbit 2.18.0 - PullRequest
0 голосов
/ 21 мая 2019

У меня есть приложение 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>
...