كيف يمكنك التحقق مما إذا كنت تعمل في بيئة ثقة متوسطة في .NET؟

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

  •  21-09-2019
  •  | 
  •  

سؤال

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

هكذا تود معرفة ذلك ، إذا كانت هناك طريقة للتحقق مما إذا كان في وقت التشغيل إذا كان التطبيق يعمل في بيئة ثقة متوسطة في .NET؟

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

المحلول

يمكنك تجربة الكود التالي:

if (!SecurityManager.IsGranted(new RegistryPermission(PermissionState.Unrestricted)))
{
    //do something.... not at full trust
}

if (!SecurityManager.IsGranted(new DnsPermission(PermissionState.Unrestricted)))
{
    //do something.... not at full trust
}

حصلت على هذا من الرابط التالي:http://www.netomatix.com/development/webcaspermissions.aspx

فيما يلي روابط لمدير الأمان ودروس أذواق التسجيل في MSDN:

http://msdn.microsoft.com/en-us/library/system.security.securitymanager.isgranted.aspx http://msdn.microsoft.com/en-us/library/system.security.permissions.registrymission.aspx

ستحتاج إلى إضافة مرجع إلى System.Security وإضافة اثنين من بيانات استخدام system.security و system.security.permissions.

تعديل:

تمت إضافة بعد تعليق نيك:

يمكنك الاختبار مباشرة لمستوى أمان ASP.NET:

if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top