Aby nemohl anonymní uživatel přistupující k publishing site portálu prohlížet všechny listy, formuláře, položky ve standardních formulářích listů WSS, je potřeba pro příslušnou site nastavit práva pro uživatele guest. Nastavit práva je samozřejmě možné přes administraci, lepším a spolehlivějším řešením je určitě takové nastavení provést při aktivaci feature našeho projektu /omezující lidskou chybu/.
internal static void LockDownViewFormPages(SPWeb web) { RunWithWebCulture(web, delegate { ConfirmNotCentralAdminWebApp(web); SPRoleDefinition byType = web.RoleDefinitions.GetByType(SPRoleType.Guest); byType.BasePermissions = SPBasePermissions.BrowseDirectories | SPBasePermissions.Open | SPBasePermissions.OpenItems | SPBasePermissions.ViewPages; byType.Update(); }); }
Takto to lze samozřejmě použít i v „pouhém“ WSS pro jiné účely/skupiny uživatelů.
Poznámka: SPBasePermissions.BrowseDirectories je potřeba, jinak nejde zjistit default stránka pomocí „PublishingWeb.DefaultPage“