Obtenir les autorisations d'un utilisateur dans la liste SharePoint 2K3
-
06-07-2019 - |
Question
J'utilise SharePoint Server 2003. Je dois récupérer la liste des autorisations à l'aide de SPList.Permissions.Xml
. Mais je ne trouve pas les autorisations accordées à l'utilisateur dans le fichier XML renvoyé.
Disons que j'ai un utilisateur 'A' dont le nom de connexion est attribué en tant qu'attribut dans le XML. Toutefois, les autorisations (telles que Afficher
, Afficher et insérer
, Afficher et insérer> etc.),
Je ne souhaite pas que les autorisations au niveau du site soient récupérées à l'aide de SPSite.Roles. Je dois obtenir les autorisations de SPList
uniquement. Toute aide serait certainement appréciée (comme il se doit! :))
Notez que j'utilise SP 2003 (et non SP2007, où RoleAssignments peut être utilisé pour obtenir ces informations)
La solution
Il était une fois , j'ai écrit un code comme celui-ci:
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"
}
Comme cela montre comment naviguer dans la collection d'autorisations et comment les copier, j'espère que cela vous aidera.