Получение разрешений пользователя в списке SharePoint 2K3
-
06-07-2019 - |
Вопрос
Я использую SharePoint Server 2003. Мне нужно получить список разрешений, используя SPList.Permissions.Xml
. Но я не нахожу разрешений, предоставленных пользователю где-либо в возвращаемом Xml.
Скажем, у меня есть пользователь 'A', чье имя для входа в систему является атрибутом в XML Но разрешения (такие как Просмотр
, Просмотр и вставка
, Просмотр и вставка и удаление
и т. Д.).
Мне не нужны разрешения на уровне сайта, поскольку их можно получить с помощью SPSite.Roles. Мне нужно получить разрешения только для SPList
. Любая помощь определенно будет оценена (достойно! :))
Обратите внимание, что я использую SP 2003 (не SP2007, где RoleAssignments можно использовать для получения этих сведений)
Решение
Давным-давно я написал такой код:
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"
}
Поскольку он показывает, как перемещаться в коллекции разрешений и как их копировать, я надеюсь, что это поможет.