كيف يمكنك التحقق مما إذا كنت تعمل في بيئة ثقة متوسطة في .NET؟
-
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");}