ما الفرق بين RunWithElevatedPriviledges وHostingEnvironment.Impersonate()؟
-
10-12-2019 - |
سؤال
ما الفرق بين 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())
{
}