هل يفعل SPSecurity.RunWithElevatedPrivileges أي شيء في تطبيق وحدة التحكم؟

StackOverflow https://stackoverflow.com/questions/121504

  •  02-07-2019
  •  | 
  •  

سؤال

مما استخلصته من العاكس، يقوم RunWithElevatedPriveleges ببساطة بإرجاع هوية مؤشر الترابط الحالي إلى الهوية الأساسية (غير المنتحلة).وهذا أمر منطقي تمامًا في حالة تشغيل التعليمات البرمجية داخل تجمع تطبيقات WSS، نظرًا لأن حساب الخدمة الأساسي هو مستخدم فائق.هل يكون له أي تأثير عند التشغيل في تطبيق خارجي (وحدة تحكم أو خدمة)، في حالة عدم وجود انتحال للهوية؟لا أعتقد ذلك، ولكن أود أن أعرف على وجه اليقين.لقد رأيت آراء متباينة حول هذا الأمر من خلال googling.

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

المحلول

عادةً ما يؤدي تشغيل ميزة Runwithelevatedprivileges إلى تشغيل التعليمات البرمجية الخاصة بك كهوية تجمع التطبيقات، ولكنها لا تعمل من وحدة التحكم.ما فعلناه في هذه الحالة هو إما الاستخدام اهرب مثل أو تعيين هوية المهمة المجدولة إلى نفس حساب هوية تجمع التطبيق.

نصائح أخرى

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

لا يعمل RunWithElevatedPriveleges عندما يكون HTTPContext فارغًا.في وحدة التحكم، HTTPContext فارغ.

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