أذونات الأمان
تسمح بيئة وقت تشغيل اللغة العامة للتعليمات البرمجية بتنفيذ فقط تلك العمليات التي يكون للتعليمات البرمجية الأذونات لتنفيذها. تستخدم بيئة وقت التشغيل كائنات تسمى الأذونات لتطبيق آلية لفرض قيود على التعليمات البرمجية المُدارة.
هناك ثلاثة أنواع من الأذونات، كل له غرض محدد:
أذونات الوصول للتعليمات البرمجية، والتي تمثل الوصول إلى مورد محمي أو إمكانية تنفيذ عملية محمية.
أذونات الهوية (فئة من أذونات الوصول للتعليمات البرمجية)، والتي تشير إلى أن التعليمات البرمجية لديها بيانات اعتماد تدعم نوع معين من الهوية.
أذونات الأمان المستند إلى الأدوار، التي توفر mechanهوm dهوcovering ما إذا كان لدى مستخدم (أو عامل لتقوم نيابة عن مستخدم) هوية معينة أو هو عضوا الدور المحدد. PrincipalPermissionهو فقط إذن الأمان القائم على الدور.
يمكن أن تكون أذونات الأمان في هيئة فئة إذن (الأمان الإلزامي) أو سمة تمثل فئة إذن ( الأمان التصريحي). الفئة الأساسية لأذونات الأمان هي CodeAccessPermission، الفئة الأساسية لسمات أذونات الأمان هي CodeAccessSecurityAttribute.
يتم منح أحد التطبيقات، على هيئة تجميع، مجموعة من الأذونات. يتم إجراء عمليات المنح باستخدام مجموعات أذونات معرّفة مسبقاً. توفر .NET Framework NamedPermissionSets افتراضية. تحدد مجموعة الأذونات الممنوحة الأذونات التي تكون متاحة للتعليمات البرمجية. تمنح بيئة وقت التشغيل الأذونات استناداً إلى صفات هوية التعليمات البرمجية، وإلى الأذونات المطلوبة، و إلى مقدار الثقة في التعليمات البرمجية (كما تم تحديده بواسطة سياسة الأمان التي تم تعيينها من قبل المسؤول). للحصول على مزيد من المعلومات حول كيف تقرر بيئة وقت التشغيل الأذونات التي تمنحها، راجع سياسة الأمان والأذونات الممنوحة.
الاستخدام الأساسي للأذونات هو كما يلي:
يمكن للتعليمات البرمجية الخاصة بمكتبة ما أن تتطلب أن يكون لطالبي استدعاؤها أذونات معينة. إذا قمت بوضع Demand لإذن ما في التعليمات البرمجية الخاصة بك، كافة التعليمات البرمجية التي تستخدم التعليمات البرمجية الخاصة بك يُتوقع أن يكون لها هذا الإذن لتشغيلها. يمكن استخدام المُطالبات لتحديد ما إذا كان لطالبي الاستدعاء حق الوصول إلى موارد محددة أو لاكتشاف هوية طالب الاستدعاء.
التعليمات البرمجية يمكنها التحقق من أن لها الأذونات التي إما تحتاجها أو قد تستخدمها. استخدم العلامة RequestMinimum لتأكيد أن التعليمات البرمجية لديها الأذونات التي تحتاجها للتشغيل. لمزيد من المعلومات، راجع كيفية القيام بما يلي: طلب الحد الأدنى من الأذونات باستخدام العلامة RequestMinimum.
يمكن للتعليمات البرمجية استخدام الأذونات لرفض الوصول إلى الموارد التي تريد حمايتها. يمكنك استخدام إمكانية رفض الأذونات للحماية ضد الوصول غير المقصود بواسطة التعليمات البرمجية الخاصة بك; على سبيل المثال، يمكنك تقييد الوصول إلى الملفات لموقع معين عند قبول مسار ملف من إدخال المستخدم. ومع ذلك، لا نوصي باستخدام طلبات الإذن لمنع الوصول من أجل الحماية ضد إساءة الاستخدام المقصودة. التجميعات التي يتم طلب استدعاؤها، و التي لها الأذونات المرفوضة في مجموعة الأذونات الممنوحة لها، يمكنها تجاوز الأذونات المرفوضة باستخدام الأسلوب Assert. الطريقة الوحيدة لحماية الموارد بشكل آمن من التعليمات البرمجية غير الموثوق بها في التجميعات المشار إليها هي تنفيذ تلك التعليمات البرمجية بمجموعة أذونات ممنوحة لا تتضمن تلك الأذونات.
توفر بيئة وقت التشغيل فئات إذن مُضمنة في مساحات أسماء متعددة كما توفر أيضاً دعماً لتصميم وتطبيق فئات الإذن المخصصة.
راجع أيضًا:
المبادئ
أذونات الوصول للتعليمات البرمجية
أذونات الأمان المستند إلى الأدوار