22/7/08

MOSS User Search (Vers. 2)

He implementado otro webpart, que se basa en el primero que hice y que me devuelve los permisos que un usuario tiene en los diferentes Sites y Listas (bibliotecas) de la aplicación. Más adelante lo implementaré a nivel de items, que como todos sabeis, disponen de permisos también. El aspecto del webpart es el siguiente:

Para buscar los permisos de una determinada persona la insertaremos en el PeopleEditor y la validaremos para asegurarnos de que existe:

Una vez validada pincharemos en 'Search' y se lanzará la búsqueda por toda la estructura de Sites y Listas de nuestra aplicación. El resultado que obtenemos es una tabla como esta:


que está dividida en Sites (color naranja) mostranonos la estructura completa de la aplicación. Para cada Site nos muestra las ubicaciones donde ese usuario se encuentra y los permisos de que dispone.

La tabla muestra toda la información, a nivel de Site y de Lists. Esta información la veremos en 4 casos diferentes, que hay que conocer para poder interpretar bien la tabla. Los casos que pueden darse son:


1.- A nivel de Site: (El campo 'Lista' saldrá vacío)
1a.- El usuario está puesto directamente en los permisos. (El campo 'Grupo SharePoint' saldrá vacío)
Este caso se da cuando el usuario lo insertamos directamente en los permisos del Site.

1b.- El usuario está en un Grupo de SharePoint, con lo que hereda los permisos de este.
Este caso es el más común y se produce cuando asignamos permisos a un grupo de SharePoint que contiene 1 o n usuarios dentro. Si el usuario que buscamos está en el grupo lo mostrará la tabla.


2.- A nivel de Listas:

2a.- El usuario está puesto directamente en los permisos para la biblioteca.
(El campo 'Grupo SharePoint' saldrá vacío)
Este caso se da cuando el usuario lo insertamos directamente en los permisos de la biblioteca.

2b.- El usuario está en un grupo de SharePoint, heredando los permisos de este.
Asignamos permisos a un grupo de SharePoint en lugar de a una persona en concreto.


La tabla mostrará todos los permisos de que dispone el usuario en cada componente, como puede verse en el siguiente ejemplo, donde el usuario dispone de casi todos los permisos en la libreria 'Historico Tareas Aprobadores':
Saludos,
Juan Alcalá

No hay comentarios: