新しいサイトオブジェクトまたはOpenWebを作成するRWEPのために自動的にそれを行います

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96208

  •  10-12-2019
  •  | 
  •  

質問

sitecol1 \ rootweb上にリストが存在します。USERAにはsitecol1に対する許可がありません。だから私たちはRWEPを使っています。サイトとWeb用に新しいオブジェクトを作成する必要があることを読みます。しかし、フォロー。コードが機能し、using (SPWeb rootWeb = site.OpenWeb()) Automaticalleyが新しいキーワードを呼び出すかどうかを知る必要があります。

またはこの場合はSPWebの新しいオブジェクトを作成する方法は何ですか?

SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                    using (SPSite site = new SPSite(SPContext.Current.Site.WebApplication.Sites[0].RootWeb.Url))
                    {
                        using (SPWeb rootWeb = site.OpenWeb())
                        {
                           //code to fetch data from list present in root web
                        }

                    }
                });
.

役に立ちましたか?

解決

これが機能する理由は、RWEP内に新しいSPSiteオブジェクトを作成しているため、SPWebを使用して返されたSPWeb rootWeb = site.OpenWeb()が正しく上昇したWebを提供します。この問題は、デリゲート内で以前に作成されたSPSiteまたはSPWebオブジェクトを使用しようとすると発生します。あなたの場合でもSPWeb rootWeb = site.RootWebも機能する必要があります。この詳細については、これを参照してください。 http://blogs.technet.com/b/harepointdevelopersupport/archive / 2013/03/13/using-spsite-and-spweb-Objects-with-runWithElevatedPrivileges-DON-T-cross-borders.aspx

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top