الأمان في Windows Forms نظرة عامة
قبل الإصدار .NET Framework، الجميع تعليمات برمجية قيد التشغيل تشغيل مستخدم تشغيل الكمبيوتر لديه نفس الحقوق أو أذونات للوصول إلى موارد التي يملك مستخدم للكمبيوتر. على سبيل المثال، إذا كان مستخدم تم السماح بالوصول إلى النظام الملفات، تعليمات برمجية تم يسمح بالوصول إلى النظام الملف؛ في حالة مستخدم تم السماح بالوصول إلى قاعدة بيانات، تم السماح التعليمة البرمجية الوصول إلى قاعدة البيانات هذه. تشغيل الرغم من أنه قد تكون هذه الحقوق أو الأذونات المقبول للتعليمات البرمجية في الملفات التنفيذية التي قام مستخدم بوضوح بتثبيتها تشغيل كمبيوتر محلي، قد لا تكون مقبولة لتعليمات برمجية ضارة من إنترنت أو إنترانت محلية. يجب إلا تكون هذه تعليمات برمجية قادراً على الوصول إلى موارد جهاز الكمبيوتر الخاص بالمستخدم بدون إذن.
.NET Frameworkتقديم بنية تحتية تسمى "الأمان الوصول للتعليمات البرمجية" التي تمكنك من تمييزها أذونات أو يمنى، والذي يحتوي على تعليمات برمجية من الحقوق التي لدى مستخدم. بشكل افتراضي، يمكن تشغيل تعليمات برمجية الواردة من الإنترنت والإنترانت فقط ما هو المعروفة بثقة جزئي. الثقة جزئي subjects تطبيق إلى سلسلة من القيود: بين الأشياء الأخرى، وتطبيق هو مقيد من الوصول إلى dهوk قرص الثابت المحلي، ويتعذر تشغيل تعليمات برمجية غير مُدارة. .NET Frameworkيتحكم موارد تلك التعليمة البرمجية هو المسموح بها للوصول استناداً إلى هوية تلك التعليمة البرمجية: الموقع تأتي منه، وكان لديه التجميعات المسماة قوية، وما إذا كان تم توقيعه باستخدام شهادة، و. هكذا
ClickOnceالتقنية التي تستخدمها إلى توزيع تطبيقات Windows Forms، تساعد في تسهيل لك إلى تطوير التطبيقات التي تعمل في ثقة جزئي أو ثقة كاملة، أو في الثقة الجزئي بأذونات عالية. ClickOnceيوفر ميزات مثل رفع الأذونات ونشر تطبيقات موثوقة بحيث يمكن للتطبيق الخاص بك طلب الثقة تامة أو أذونات عالية المستوى من مستخدم المحلي بطريقة مسؤولة.
فهم الأمان في.NET Framework
الأمان الوصول إلى تعليمات برمجية allows تعليمات برمجية to be موثوق به to varying degrees, depending تشغيل الموقع the تعليمات برمجية originates و تشغيل غير ذلك aspects of the تعليمات برمجية's الهوية. لمزيد من المعلومات حول دليل اللغة الشائعة وقت التشغيل يستخدم لتحديد نهج الأمان، راجع من دليل. It helps يحمي الكمبيوتر systems من malicious تعليمات برمجية و helps يحمي موثوق به تعليمات برمجية من intentionally أو accidentally compromising الأمان. الأمان الوصول إلى تعليمات برمجية also gives you المزيد عنصر تحكم over what الاجراءات your تطبيق can perform, because you can specify فقط those أذونات you need your تطبيق to have. يؤثر الأمان الوصول إلى تعليمات برمجية المدارة الجميع تعليمات برمجية التي تستهدف اللغة الشائعة وقت التشغيل، حتى ولو التعليمة البرمجية التي يقوم تفحص إذن تكوين واحد رمز--الأمان الوصول إلى لا. ل المزيد من المعلومات حول الأمان في .NET Framework، راجع مفاهيم أمان المفاتيح و أساسيات أمان الوصول إلى تعليمات برمجية .
If the مستخدم run a Windows Forms تنفيذي ملف directly إيقاف of a ويب الخادم أو a يجعله مشتركًا الملفات, the degree of الثقة granted إلى your تطبيق depends تشغيل الموقع the تعليمات برمجية resides, و how it هو started. When an تطبيق runs, it هو automatically evaluated و it receives a named إذن التعيين من the وقت تشغيل اللغة العامة. بواسطة الافتراضي, the تعليمات برمجية من the محلي الكمبيوتر هو granted the كامل الثقة إذن التعيين, تعليمات برمجية من a محلي شبكة هو granted the محلي إنترانت إذن التعيين, و تعليمات برمجية من the إنترنت هو granted the إنترنت إذن التعيين.
ملاحظة
في the .NET Framework الإصدار 1.0 الخدمة يحزم 1 و الخدمة يحزم 2, the إنترنت منطقة مجموعة تعليمات برمجية receives the لا شيء إذن التعيين. في الجميع غير ذلك releases of the .NET Framework, the إنترنت منطقة مجموعة تعليمات برمجية receives the إنترنت أذونات التعيين.
The الافتراضي أذونات granted في each of these إذن sets are listed في the الافتراضي الأمان سياسة موضوع. Depending تشغيل the أذونات that the تطبيق receives, it either runs correctly أو generates a الأمان استثناء.
Many Windows Forms applications will be deployed using ClickOnce. The أدوات used for generating a ClickOnce توزيع have different الأمان افتراضيات than what was discussed earlier. For المزيد معلومات, see the following مناقشة.
يمكن أن يكون الفعلي إذن s الممنوحة للتطبيق الخاص بك مختلفة من قيم الافتراضية، لأنه يمكن تاريخ التعديل نهج الأمان؛ وهذا يعني أنه يمكن أن يكون تطبيق الخاص بك إذن تشغيل واحد أجهزة الكمبيوتر، وليس تشغيل آخر.
تطوير المزيد الآمنة تطبيق نماذج Windows
أمان هو الهامة في الجميع الخطوات لتطوير التطبيقات. البدء بمراجعة و اتباع تأمين ترميز إرشادات.
بعد ذلك، أن تقرر ما إذا كان يجب تشغيل تطبيق الخاص بك في الثقة تامة، أو ما إذا كان يجب أن يعمل في الثقة جزئي. قم بتشغيل تطبيق الخاص بك الثقة تامة يسهل الوصول إلى موارد تشغيل الكمبيوتر المحلي، ولكن الكشف عن تطبيق الخاص بك والمستخدمين الخاصة به إلى مخاطر أمنية عالية إذا كنت لا بتصميم وتطوير تطبيق التام وفقا للموضوع "إرشادات الترميز بالأمن". قم بتشغيل التطبيق الخاص بك في الثقة الجزئية يسهل إلى تطوير تطبيق أكثر أماناً وتقليل مخاطرة كبيرة، ولكن يتطلب المزيد من التخطيط في طريقة إلى تطبيق ميزات معينة.
إذا قمت باختيار الثقة الجزئية (التي هو، يعين permهوsion إنترنت أو إنترانت المحلية)، أن تقرر كيف تريد تطبيق الخاص بك على التصرف في ترتيب هو بيئة. يوفر Windows Forms طرق بديلة، أكثر أماناً إلى تنفيذ ميزات في بيئة semi-موثوق به. أجزاء معينة من تطبيق الخاص بك، مثل كـ الوصول إلى بيانات، يمكنك تصميم ومكتوبة بشكل مختلف لكل من الثقة جزئي والبيئات الثقة تامة. تم تصميم بعض ميزات Windows Forms، مثل إعدادات تطبيق، إلى تعمل في الثقة جزئي. لمزيد من المعلومات، راجع نظرة عامة حول إعدادات تطبيق.
إذا كان تطبيق الخاص بك يحتاج أذونات أكثر مما يسمح بثقة جزئي، ولكن لا تريد إلى تشغيله في وضع الثقة الكاملة، يمكنك تشغيل في الثقة الجزئي أثناء يؤكد فقط تلك الأذونات الإضافية التي تحتاجها. تشغيل سبيل المثال، إذا كنت ترغب في تشغيل في الثقة الجزئية، ولكن يجب منح القراءة تطبيق الخاص بك-فقط الوصول إلى دليل تشغيل كمبيوتر مستخدم ملف الالنظام، يمكنك طلب FileIOPermissionفقط لهذا الدليل. يستخدم بشكل صحيح، هذا الأسلوب يمكن إعطاء وظائف زيادة التطبيق الخاص بك وتقليل مخاطر الأمان إلى المستخدمين.
When you develop an تطبيق that will run in partial الثقة, keep track of what permissions your تطبيق must run و what permissions your تطبيق could optionally استخدم. عند الجميع أذونات تعرف، عليك التأكد مصرحة طلب الإذن على المستوى تطبيق. طلب أذونات تبلغ .NET Frameworkوقت التشغيل حول الأذونات التي احتياجات تطبيق الخاص بك والذي أذونات خاصة ولا لا يريد. لمزيد من المعلومات حول طلب الأذونات، راجع طلب أذونات و طلبات إذن .
عند طلب أذونات اختيارية، يجب معالجة استثناءات الأمان التي سيتم إنشاء إذا كان تطبيق الخاص بك بتنفيذ إجراء يتطلب الأذونات الممنوحة لا إلى عليه. المناسب معالجة SecurityExceptionيؤكد أنه يمكن متابعة تطبيق الخاص بك إلى العمل. يمكن استخدام التطبيق الخاص بك استثناء إلى تحديد ما إذا كان يجب أن تصبح معطّل ميزة للمستخدم. على سبيل المثال، يمكن تطبيق dهوable حفظ لخيار قائمة حالة permهوsion الملف المطلوب هو لا يمنح.
ففي بعض الأحيان، هو صعوبة في معرفة ما إذا كان تم فيها تأكيد permهوsions المناسبة. A أسلوب يتصل which looks innocuous تشغيل the سطح, for مثال, may الوصول the ملف النظام at some يؤشر during its execution. If you do not نشر your تطبيق مع الجميع the مطلوب أذونات, it may اختبار fine when you يصحح it تشغيل your سطح المكتب, but فشل when deployed. كلاهما the .NET Framework 2.0 SDK و Visual Studio 2005 contain أدوات for جارى الحساب the أذونات an تطبيق needs: the MT.exe الأمر خط أداة و the Calculate أذونات ميزة of Visual Studio, respectively.
The following topics describe إضافى Windows Forms الأمان features.
الموضوع |
الوصف |
---|---|
Describes how إلى الوصول ملفات و بيانات في a جزئي الثقة بيئة. |
|
Describes how إلى الوصول طباعة features في a جزئي الثقة بيئة. |
|
Describes performing نافذة manipulation, using the حافظة, و making calls إلى تعليمات برمجية غير مُدارة في a جزئي الثقة بيئة. |
Deploying an تطبيق مع the Appropriate أذونات
الوسيلة الأكثر شيوعاً لنشر أحد تطبيقات Windows Forms كمبيوتر عميل مع ClickOnce، التقنية توزيع الذي يصف الجميع المكونات تطبيق الخاص بك للتشغيل. ClickOnce uses ملفات XML called بيانات إلى describe the تجميعات و files that make لأعلى your تطبيق, و also the أذونات your تطبيق يتطلب.
ClickOnce has الثاني technologies for requesting elevated أذونات تشغيل a العميل الكمبيوتر. كلاهما technologies rely تشغيل the استخدم of Authenticode certificates. The certificates تعليمات provide some assurance إلى your users that the تطبيق has come من a موثوق به المصدر.
The following جدول describes these technologies.
Elevated إذن التقنية |
الوصف |
---|---|
إذن Elevation |
Prompts the مستخدم مع a الأمان حوار صندوق the أول الوقت your تطبيق runs. صندوق الحوار رفع إذن تعلم مستخدم حول قام بنشر تطبيق، حيث يمكن للمستخدم أن يجعل قرار مدروسة حول ما إذا كان سيتم إلى منحة الثقة إضافى |
موثوق به من تطبيق توزيع |
تتضمن مسؤول النظام تقوم بتثبيت مرة واحدة فقط من ناشر شهادة المصادقة تشغيل عميل الكمبيوتر. يتم regarded أية تطبيقات بالشهادة من هذه النقطة في كـ موثوق به، ويمكن أن يقوم بتشغيل في الثقة تامة تشغيل كمبيوتر محلي دون مطالبة إضافى. |
وتعتمد التقنية التي قمت باختيار تشغيل envirتشغيلment توزيع الخاصة بك. لمزيد من المعلومات، راجع اختيار خطة نشر ClickOnce.
بشكل افتراضي، ClickOnceالتطبيقات التي تم نشرها باستخدام أما Visual Studioأو .NET Framework 2.0SDK إلى ols (Mage.exe و MageUI.exe) تم تكوينها إلى تشغيل تشغيل كمبيوتر عميل تشغيل التوثيق الكامل. إذا كنت بصدد نشر تطبيق الخاص بك باستخدام الثقة جزئي أو باستخدام بعض أذونات إضافى فقط، فيجب أن إلى تغيير هذا الافتراضي. يمكنك القيام بذلك مع أما Visual Studioأو .NET Framework 2.0أداة SDK MageUI.exe عندما تقوم بتكوين توزيع. لمزيد من المعلومات حول كيفية إلى استخدام MageUI.exe، راجع معاينة: نشر ClickOnce تطبيق من سطر الأوامر. لمزيد من المعلومات، راجع: كيفية: تعيين أذونات مخصصة لتطبيق ClickOnce.
لمزيد من المعلومات حول أوجه الأمان ClickOnceو إذن رفع، راجع أمان ClickOnce. لمزيد من المعلومات حول نشر تطبيق الموثوق بها، راجع نظرة عامة على نشر التطبيق موثوق به.
اختبار التطبيق
إذا قمت بنشرة تطبيق Windows Forms بواسطة استخدام Visual Studio، يمكنك تمكين التصحيح في الجزئي تعيين الثقة أو بإذن مقيد من بيئة التطوير. لمزيد من المعلومات، راجع: كيفية: تصحيح أخطاء تطبيقات ClickOnce مع الأذونات المقيدة.
راجع أيضًا:
المرجع
Mage.exe (إنشاء البيان و أداة التحرير)
MageUI.exe (إنشاء بيان و تحرير أداة رسومية للعميل)
المبادئ
نظرة عامة على نشر التطبيق موثوق به