已将SharePoint 2013安装作为开发系统运行(从我们的实时环境克隆)。
如果我创建一个新的网站集并将主要和辅助网站集管理员分别设置为sp_farm和sp_admin,我可以使用这两个帐户之一访问(查看)网站 - 很棒。
但是,在将我们的实时SharePoint场中的网站集(使用PowerShell Restore-SPSite)还原到我们的开发服务器之后,恢复的集合上的权限似乎发生了一些奇怪的事情。一切看起来都很好配置,例如, sp_farm和sp_admin都在具有完全控制权的站点Owners组中。我甚至可以使用sp_farm通过浏览器访问网站。问题是由于某种原因我无法使用sp_admin访问该站点。我收到通常的消息"对不起,这个网站还没有与你共享" - 尽管被设置为网站集的管理员。
我想我会为网站集设置访问请求 - 所以我以sp_admin用户身份提交了访问请求。然后我使用sp_farm转到访问请求管理区域,查看来自sp_admin的请求,并给出sp_admin完全控制权限。但是,在使用sp_admin重新访问该站点时,我被告知再次提交访问请求。在这一点上我肯定应该有权访问?
我尝试了很多建议,包括:
因为环境应该完全反映我们的实时环境,所以真的难以理解sp_admin帐户无法正常运行的原因。
就像我说的,创建一个具有完全相同权限的新网站集会给我带来任何问题。问题只发生在我从我们的实时环境中恢复网站集之后。
我已经读过清除分发缓存可能是一个选项吗?
有没有人有任何建议? 感谢
答案 0 :(得分:0)
我遇到此问题的唯一实例是启用发布功能并且未发布母版页和页面布局。转到网站集根目录上的内容和结构页面(网站设置>内容和结构)转到母版页库并发布自定义文件。此外,如果启用了发布,请检查以确保发布页面库中的页面。
答案 1 :(得分:0)
我想将user19952(来自Sharepoint.stackexchange.com)归功于我指向正确的方向。我尝试使用PowerShell命令而不是通过Central Admin设置主要和辅助网站集管理员。似乎用户“sp_admin”现在被识别为与之前不同的用户。 (当我们通过脚本设置别名时,可能会清除SharePoint中的某种缓存吗?)
运行以下命令后,我们仍然无法使用sp_admin访问该站点,但能够发出访问请求,该请求在被sp_farm接受后,可以访问用户sp_admin。以前,批准访问请求似乎什么都不做,sp_admin仍然无法访问该站点。
总结一下,我不知道脚本到底做了什么 - 但它似乎解决了我们的问题。
$siteCollectionUrl = "<my site>"
$site =new-object Microsoft.SharePoint.SPSite($siteCollectionUrl)
$web = $site.RootWeb
$primarAdministrator = $web.EnsureUser("domain\sp_admin")
$site.Owner = $primarAdministrator;
Set-SpSite "<my site>" -owneralias "domain\sp_admin"
$secondayAdministrator = $web.EnsureUser("domain\sp_farm")
$site.SecondaryContact = $secondayAdministrator;
Set-SpSite "<my site>" -SecondaryOwnerAlias "domain\sp_farm"