0
我們希望在頁面加載時授予用戶網站管理員權限並在finally塊中將其刪除。 我們正在使用sharepoint 2007,實現它的方式是什麼。如何以編程方式授予當前用戶網站管理員權限
我們希望在頁面加載時授予用戶網站管理員權限並在finally塊中將其刪除。 我們正在使用sharepoint 2007,實現它的方式是什麼。如何以編程方式授予當前用戶網站管理員權限
而不是暫時授權訪問用戶,我會建議實例化SPSite與SystemAccount:
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
}
}
我會建議在您的代碼中提升的權限運行。這會讓你的代碼暫時執行更高的權限。確保你打開你的網站,在這個委託下打開網頁和列表對象。請參閱MSDN article和下面的示例。
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(web.Site.ID))
{
// implementation details omitted
}
})
不包含「網頁」 獲得上述編譯錯誤以下行 SPSite的網站= this.Web.Site的定義; 非常感謝您抽出時間:) – Rushikesh
我更改了代碼,以便原始SPWeb是一個變量而不是屬性。無論如何,你需要一個SPWeb實例來確定你的上下文。 –