novembre
2011
J’ai donc voulu créer mon blog sur SharePoint Online étant donné que je me suis spécialisé cette année dans le développement SharePoint. Mais je me suis confronté à un léger souci, lorsque j’ai créé un site de type « Blog » sur SharePoint Online, il s’avère que les permissions héritent du site parent et que le site parent ne possède pas d’accès anonyme.
Il n’est pas non plus possible via l’interface d’activer l’accès anonyme, n’ayant pas accès à l’administration centrale !
Par exemple, pour un blog, si l’utilisateur clique sur un billet en page d’accueil pour y accéder, il est redirigé directement vers la page d’authentification. Idem pour les catégories et commentaires.
Du coup, et grâce à cet article de Martin Hatch, j’ai créé une webpart permettant de lister toutes les listes du site courant et de permettre d’activer l’accès anonyme en lecture seule ou en modification/écriture.
Ainsi, j’ai activé l’accès anonyme pour la liste des billets, des commentaires et des catégories. De plus, j’ai activé l’ajout d’item pour la liste des commentaires afin que tout utilisateur puisse ajouter un commentaire.
Voici, le code utilisé pour activer l’accès anonyme :
La permission SPBasePermissions.ViewFormPages n’est pas effective. Il suffit de l’ajouter sur le masque de permissions AnonymousPermMask64 de la liste.
SPList list = SPContext.Current.Web.Lists[listId]; if (list != null) { if (!list.HasUniqueRoleAssignments) { list.BreakRoleInheritance(true); } list.WriteSecurity = 2; list.AnonymousPermMask64 |= (SPBasePermissions.Open | SPBasePermissions.OpenItems | SPBasePermissions.ViewListItems | SPBasePermissions.AddListItems); list.Update(); this.gridViewLists.DataBind(); }
Pour activer l’ajout d’items dans la liste des commentaires, il suffit d’ajouter la permission SPBasePermissions.AddListItems.
list.AnonymousPermMask64 |= (SPBasePermissions.AddListItems);
Vous pouvez trouver le code source de la webpart ici: http://bertrandvergnault.sharepoint.com/blog/PublicDocuments/ModifyListsPermissionsWebPart/Office365.ModifyListsPermissions.zip
Ou télécharger directement le fichier solution WSP pour l’ajouter directement dans votre environnement:
http://bertrandvergnault.sharepoint.com/blog/PublicDocuments/ModifyListsPermissionsWebPart/Office365.ModifyListsPermissions.wsp