ユーザーがリスト項目にアクセスできない場合でも、リスト項目を取得します。
-
09-12-2019 - |
質問
現在のユーザーが実際にアイテムにアクセスできない場合でも、リストからアイテムを取得する方法はありますか? 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
}
});
所属していません sharepoint.stackexchange