2012-04-30 62 views

回答

2

而不是暫時授權訪問用戶,我會建議實例化SPSiteSystemAccount

SPSite site = web.Site; 
Guid id = web.ID; 
SPUtility.ValidateFormDigest(); 
using (SPSite systemSite = new SPSite(site.ID, site.SystemAccount.UserToken)) 
{ 
    using (SPWeb systemWeb = systemSite.OpenWeb(id)) 
    { 
     // perform as site administrator 
    } 
} 
+0

不包含「網頁」 獲得上述編譯錯誤以下行 SPSite的網站= this.Web.Site的定義; 非常感謝您抽出時間:) – Rushikesh

+0

我更改了代碼,以便原始SPWeb是一個變量而不是屬性。無論如何,你需要一個SPWeb實例來確定你的上下文。 –

0

我會建議在您的代碼中提升的權限運行。這會讓你的代碼暫時執行更高的權限。確保你打開你的網站,在這個委託下打開網頁和列表對象。請參閱MSDN article和下面的示例。

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
    using (SPSite site = new SPSite(web.Site.ID)) 
    { 
    // implementation details omitted 
    } 
}) 
相關問題