我正在尝试列出所有SharePoint网站(父网站和子网站)上的所有链接。当我以管理员用户身份登录时,它的工作正常。但是,当我以普通用户身份登录时,我收到拒绝访问错误。当我检查SPWebCollection的count属性时会抛出错误。
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsite = oSiteCollection.AllWebs;
StringBuilder labelText = new StringBuilder();
for (int i = 0; i < collWebsite.Count; i++) // <---- Access denied on count
{ // get links }
我尝试添加为普通用户提供完整的站点控制,但仍然收到拒绝访问错误。知道访问count属性时正在检查哪些访问规则?
答案 0 :(得分:0)
您可以使用RunWithElevatedPrivileges
上的SPSecurity
方法尝试使用您的应用程序池帐户。
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsite = oSiteCollection.AllWebs;
StringBuilder labelText = new StringBuilder();
for (int i = 0; i < collWebsite.Count; i++) // <---- Access denied on count
{ // get links }
});