Pregunta

He estado usando SharePoint Server 2003. Necesito recuperar la lista de permisos usando SPList.Permissions.Xml . Pero no encuentro los permisos otorgados al usuario en ninguna parte del Xml devuelto.

Digamos que tengo un usuario 'A' cuyo nombre de inicio de sesión viene como un atributo en el Xml. Pero los permisos (como Ver , Ver & amp; Insertar , Ver & amp; Insertar & amp; Eliminar etc.,).

No quiero los permisos de nivel de sitio, ya que se pueden recuperar con SPSite.Roles. Necesito obtener los permisos de SPList solo. Cualquier ayuda definitivamente sería apreciada (¡¡¡¡¡¡¡¡) :)

Tenga en cuenta que estoy usando SP 2003 (no SP2007 donde RoleAssignments se puede usar para obtener estos detalles)

¿Fue útil?

Solución

Érase una vez escribí un código como este:

SPDocumentLibrary source = (SPDocumentLibrary)web.Lists["source"];
SPDocumentLibrary target = (SPDocumentLibrary)web.Lists["target"];
foreach(SPPermission permission in source.Permissions)
{
    try
    {
        target.Permissions.Add(permission.Member, permission.PermissionMask);
    }
    catch { } // "ask rumen for info"
}

Como muestra cómo navegar en la colección de permisos y cómo copiarlos, espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top