質問

現在のユーザーが実際にアイテムにアクセスできない場合でも、リストからアイテムを取得する方法はありますか? SPSecurity.RunWithElevatedPrivileges 機能しないようです!

リストからいくつかの項目、つまり特定のフィルターを尊重する項目にアクセスする必要がある特別なケースがあります。フィルターは他のユーザーに属するアイテムを返すことができますが、これらは返されません。

ただし、情報を収集してユーザーに表示する必要があります。ユーザーにはアクセス権のない項目は表示されませんが、表示される情報ではそれらの項目を考慮する必要があります。

プログラムで権限を設定/削除せずにこれを行うことは可能ですか?

役に立ちましたか?

解決

良い、 SPSecurity.RunWithElevatedPrivileges トリックを実行する必要があります。必ず、昇格されたコード ブロック内に新しい SPSite/SPWeb を作成してください。

var siteId = SPContext.Current.Site.ID;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
  using (SPSite site = new SPSite(siteId))
  {
    //do things on the new site object
  }
});
ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top