Limpiar roles de documento en una biblioteca de documentos

votos
2

He estado desarrollando un controlador de eventos para limpiar RolesAssignments del nuevo elemento de una biblioteca de documentos en MOSS. He buscado un método que pueda limpiar todas las Asignaciones de Roles de manera eficiente, aunque la mejor manera en que encontré las costuras es recorrer las RolesAsignaciones y eliminar una por una. ¿Hay alguna otra manera de limpiar todas las RolesAssignments para un artículo?

El código que estoy usando para limpiar RolesAssignments se ve así:

    for (int i = ListItem.RoleAssignments.Count - 1; i >= 0; --i)
    { 
        ListItem.RoleAssignments.Remove(i); 
    }

¿Alguien tiene alguna idea sobre cómo lidiar con esto?

Publicado el 09/12/2008 a las 15:48
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
2

El ejemplo que ha dado en el cuerpo de su pregunta es la forma más correcta de hacerlo. ResetRoleInheritance y BreakRoleInheritance pueden hacer lo que necesites, pero este es el efecto secundario de las operaciones que realizan. Su objetivo no es eliminar RoleAssignments, sino operar en herencia de roles. Desde MSDN:

ResetRoleInheritance - "Elimina las asignaciones de roles locales y revierte a asignaciones de roles desde el objeto principal".

BreakRoleInheritance - "Crea asignaciones de roles únicas para el elemento en lugar de heredarlas de un padre".

Si la herencia de roles ya está rota y está utilizando asignaciones de funciones específicas, debe eliminarlas usando un bucle como lo hizo en su pregunta.

Respondida el 09/12/2008 a las 20:04
fuente por usuario

votos
1

Tengo la respuesta, coloque la propiedad SPListItem.BreakRoleInheritance (false) para romper la herencia del rol y eliminar las asignaciones de roles.

Respondida el 09/12/2008 a las 18:51
fuente por usuario

votos
-1

¿Qué hay de ResetRoleInheritance? Esto debería borrar todas las Asignaciones de roles.

Respondida el 09/12/2008 a las 17:02
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more