0

ページ読み込み時にユーザーにサイト管理者権限を付与し、finally ブロックでそれを削除したいと考えています。私たちはsharepoint 2007を使用していますが、それを実装する方法は何ですか.

4

2 に答える 2

2

ユーザーに一時的にアクセスを許可する代わりに、 SystemAccount を使用して SPSite をインスタンス化することをお勧めます。

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
    }
}
于 2012-04-30T19:43:30.913 に答える
0

コードで昇格された特権で実行することをお勧めします。これにより、実行されるコードに一時的に高い権限が付与されます。サイトを開いて、Web オブジェクトとリスト オブジェクトがこのデリゲートの下で開かれていることを確認してください。以下のMSDNの記事とサンプルを参照してください。

SPSecurity.RunWithElevatedPrivileges(delegate()
{
   using (SPSite site = new SPSite(web.Site.ID))
   {
     // implementation details omitted
   }
})
于 2012-05-18T08:33:44.623 に答える