cancel
Showing results for 
Search instead for 
Did you mean: 

Saber si un permiso es heredado en un WS con Javascript

palba
Champ in-the-making
Champ in-the-making
Hola.

Al obtener los permisos de un espacio con:

folder.permissions

obtengo la cadena:

"ALLOWED;test1;Collaborator,ALLOWED;test2;Collaborator,ALLOWED;GROUP_EVERYONE;Consumer"

¿Hay alguna forma de sabe si el rol "Collaborator" del usuario "test1" está aplicado directamente a este espacio, o bien está heredado del espacio padre?

Gracias por adelantado
5 REPLIES 5

cristinamr
World-Class Innovator
World-Class Innovator
Uhmmm… Se me ocurre es que pruebes a pasarle la función listSiteRoles() que devuelve los roles asociados a ese espacio (función disponible a partir de la 3.0).  Si está asociado es que es de ese espacio, sino es que lo hereda.

Un saludo.

PD: Se me olvidaba pasarte los enlaces, aquí tienes el de la wiki para que mires según la versión que tengas Smiley Wink
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

palba
Champ in-the-making
Champ in-the-making
Muchas gracias por responder, CristinaMR, pero me temo que no te sigo…

Leyendo la documentación, la función listSiteRoles() es del servicio "siteService". Por lo tanto puedo llamarla así:

siteService.listSiteRoles()

Esto me devuelve un array con los roles posibles en el sistema:

% siteService.listSiteRoles()[0]
SiteManager
% siteService.listSiteRoles()[1]
SiteCollaborator
% siteService.listSiteRoles()[2]
SiteContributor
% siteService.listSiteRoles()[3]
SiteConsumer


Pero esto no me da los roles asociados al espacio. Es más, no puedo especificar un espacio, esta función es a nivel de todo el site.

Así que supongo que te he entendido mal… ¿podrías aclararme a qué te refieres?

Muchas gracias Smiley Happy

cristinamr
World-Class Innovator
World-Class Innovator
Wops, disculpa error mío  Smiley Surprisedops:  (lo entendí mal). Mira, para ver los permisos que tiene un espacio asociado existe en la API de Javascript esta función:

String[] getPermissions()
Returns a String[] of the permissions attached to a node. Strings returned are of the format [ALLOWED|DENIED];[USERNAME|GROUPNAME];PERMISSION for example ALLOWED;kevinr;Consumer so can be easily tokenized on the ';' character.

Es decir, esa función te devuelve un array con el formato que te indica. Además, he encontrado este post, ojealo porque si tienes que extraer qué permiso tiene asociado ese espacio creo que te vendrá bien.

Haz una pequeña prueba y nos comentas si te va bien Smiley Wink

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

palba
Champ in-the-making
Champ in-the-making
Esa cadena de permisos ya la tengo (la función que comentas es equivalente a obtenerlos con folder.permissions).

Mi problema es que no sé si esos permisos se han aplicado directamente al espacio, o son heredados (se han aplicado al espacio padre), y necesito saberlo.

cristinamr
World-Class Innovator
World-Class Innovator
Buff.. La verdad es que he tocado poco este tema  Smiley Indifferent  Uhm, me suena que haya una función que se llama hasAspect a la que le pasas un aspecto y te devuelve un true o false si tiene el nodo ese aspecto asociado. En base a esto, no sé si sería viable preguntar por el aspecto heredable (¿inheritance?) y si lo tiene asociado, es porque puede heredar permisos del padre. Otra cosa no se me ocurre  Smiley Sad

A ver si alguien de la comunidad que lo haya trabajado con este aspecto puede comentarte más concretamente.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.