Les utilisateurs anonymes ne peuvent pas ouvrir de fichiers XLSX à partir d’une bibliothèque de documents
Symptômes
Prenons l’exemple du scénario suivant :
- Un site de publication ou un site dont la fonctionnalité « ViewFormPagesLockDown » est activée
- Le site est configuré pour l’accès anonyme
- Le site contient une bibliothèque de documents
- La bibliothèque de documents contient un fichier avec extension .XLSX (Excel format 2007 ou supérieur)
- Un utilisateur anonyme double-clique sur le .XLSX pour l’ouvrir
Sharepoint tente d’ouvrir le fichier à l’aide de XL Web Service. L’utilisateur voit le message « Opération en cours », puis reçoit l’erreur suivante :
Excel Web Access Une erreur s’est produite.
Accès refusé
Cause
Les utilisateurs anonymes n’ont pas de droits « OpenItems » sur la bibliothèque de documents.
Résolution
Trois résolutions différentes peuvent être implémentées pour résoudre ce problème.
Résolution 1
Rompre l’héritage des autorisations sur la bibliothèque de documents.
Résolution 2
Notes
La désactivation de la fonctionnalité « ViewFormPagesLockDown » permet aux utilisateurs anonymes d’afficher des droits source sur certains fichiers susceptibles de contenir des informations sensibles.
Désactivez la fonctionnalité « ViewFormPagesLockDown » sur la collection de sites à l’aide de stsadm :
stsadm -o deactivatefeature -url <site collection url> -filename ViewFormPagesLockDown\feature.xml
Résolution 3
Notes
L’autorisation anonyme « OpenItems » permet aux utilisateurs anonymes d’afficher des droits source sur certains fichiers susceptibles de contenir des informations sensibles.
Accordez par programme l’autorisation « OpenItems » au SPWeb aux utilisateurs anonymes. Notez que vous devez le faire uniquement si vous comprenez & accepter les implications en matière de sécurité. L’exemple de script ci-dessous peut être utilisé pour ajouter l’autorisation « Ouvrir les éléments » :
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$siteUrl = "[http://URL_of_your_SITE](http://url_of_your_site/)";
$site = New-Object Microsoft.SharePoint.SPSite($siteurl);
$web = $site.OpenWeb();
$enumPerms = [Microsoft.SharePoint.SPBasePermissions];
Write-Host $web.AnonymousPermMask64;
$web.AnonymousPermMask64 = $web.AnonymousPermMask64 -bor $enumPerms::OpenItems
$web.Update();
Write-Host $web.AnonymousPermMask64;
$web.Dispose();
$site.Dispose();
Informations supplémentaires
Planifier la sécurité pour un environnement d’accès anonyme externe (Office SharePoint Server)
Encore besoin d’aide ? Accédez au site de la Communauté SharePoint.