在要求所有网站的计数时拒绝访问 - SharePoint WSS 3.0 SP2

时间:2010-07-06 17:55:09

标签: sharepoint-2007 wss-3.0

我正在尝试列出所有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属性时正在检查哪些访问规则?

1 个答案:

答案 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 }
});