AnsweredAssumed Answered

Cambiar permisos propietario

Question asked by mrey on Nov 2, 2009
Buenas tardes

A ver si alguien puede hecharme una mano con un problema

La idea es que mediante una acción, un usuario pueda cambiarle los permisos a un espacio, dejandolo en "consumer" para todos(excepto el administrador), incluido el usuario que ejecuta la acción y el propietario del espacio. Es decir, que cuando alguien cierre el espacio, nadie pueda hacer nada en ese espacio, salvo ver lo que hay dentro y leer el contenido.

Para ello usamos este método

 private void CambiarPermisosLectura() {
      // Este método cambia los permisos del espacio que se ha cerrado a
      // SOLO LECTURA
     
         NodeRef folderNodeRef = nodoEsp.getNodeRef();
         String usuActual = this.services.getAuthenticationService().getCurrentUserName();
         authenticationComponent.setSystemUserAsCurrentUser();
         
         services.getPermissionService().setInheritParentPermissions(folderNodeRef, false);
         Set<AccessPermission> permisos = services.getPermissionService().getAllSetPermissions(folderNodeRef);
         Iterator it = permisos.iterator();
         
         while (it.hasNext()){
            
            AccessPermission acceso = (AccessPermission)it.next();
            if(acceso.getAuthority().equals("admin")){
               services.getPermissionService().clearPermission(folderNodeRef, acceso.getAuthority());
               services.getPermissionService().setPermission(folderNodeRef,  acceso.getAuthority(), PermissionService.CONSUMER, true);

            }
         }
         authenticationComponent.clearCurrentSecurityContext();
       authenticationComponent.setCurrentUser(usuActual);
      /* where "folderNoderef" is the Noderef of the given space. */
   }


Lo hace bien, pero el problema es que el usuario propietario sigue con todos los permisos sobre los documentos que hay dentro, por ejemplo, si en un espacio hay 5 documentos, y yo añadí 2, una vez cerrado ese espacio, tendré todos los permisos sobre los 2 documentos que yo añadí, y solo lectura sobre el resto, pero debería tener solo lectura sobre todos, incluidos los que yo soy propietario.

¿Alguna idea sobre como puedo hacer para quitar o cambiar el propietario?

Muchas gracias y un saludooooooo

Outcomes