سؤال

ما الفرق بين RunWithElevatedPriviledges وHostingEnvironment.Impersonate()؟

كلاهما يستخدم لتشغيل التعليمات البرمجية بامتيازات أعلى.

هل كانت مفيدة؟

المحلول

Hosting.HostingEnvironment.Impersonate هو ما يعادل ASP.NET SPSecurity.RunWithElevatedPrivileges.

SPSecurity.RunWithElevatedPrivileges لا يمكن أن تعمل في سياق ASP.NET لأنها تستدعي واجهات برمجة تطبيقات SharePoint.

مصدر

لدي تطبيق ويب asp.net يجب أن ينفذ تعليمات برمجية ضمن سياق المستخدم الحالي (من خلال انتحال الهوية، لأنه يحتاج إلى استدعاء موارد مختلفة).توجد بعض الكتل البرمجية، مثل استثناءات الكتابة لسجل الأحداث التي يجب تشغيلها كحساب مجمع التطبيقات.

في SharePoint (الذي تم إعداد asp.net فيه بشكل مشابه جدًا لتطبيق الويب الخاص بي)، يوجد SPSecurity.RunWithElevatedPrivileges.وهذا يضمن تشغيل كتلة من التعليمات البرمجية كحساب مجمع التطبيقات.المعادل في asp.net هو كما يلي: -

using (System.Web.Hosting.HostingEnvironment.Impersonate()) 
{ 
}

مصدر

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top