أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية استخدام سمة AllowPartiallyTrustedCallers للاتصال تجميع الذي يحتوي على اسم واضح من صفحة ويب باستخدام Visual C# .NET أو Visual C# 2005 أو الإصدارات الأحدث

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

839300
هام تحتوي هذه المقالة على معلومات يوضح كيفية المساعدة على تخفيض إعدادات الأمان أو كيفية إيقاف تشغيل ميزات الأمان على جهاز كمبيوتر. يمكنك إجراء هذه التغييرات كمحاولة للتغلب مشكلة معينة. قبل القيام بإجراء هذه التغييرات، نوصي بتقييم المخاطر المرتبطة بتطبيق هذا الحل البديل في بيئة التشغيل الخاصة بك. إذا قمت بتطبيق هذا الحل البديل بتنفيذ أية خطوات إضافية مناسبة للمساعدة على حماية النظام.
الموجز
قد تحتاج إلى استدعاء عنصر تحكم مستخدم Windows من صفحة ويب. للاتصال عنصر تحكم مستخدم Windows التي يمكن الوصول إلى الموارد المؤمنة و الذي اعتمد تجميع الذي يحتوي على اسم واضح يجب وضع علامة التجميع التحكم المستخدم لـ Windows مع السمة التجميع AllowPartiallyTrusted. يجب عليك أيضاً تضمين استدعاء الأسلوب تأكيد عنصر التحكم المستخدم Windows الوصول إلى الموارد المؤمنة.
مقدمة حول
توضح هذه المقالة خطوة بخطوة كيفية استدعاء Windows عنصر تحكم المستخدم من صفحة ويب. يتم إنشاء عنصر تحكم المستخدم Windows التي توضح هذه المقالة أنه تجميع الذي يحتوي على اسم واضح. وصف النموذج في هذه المقالة كيفية استخدام سمة AllowPartiallyTrustedCallers التجميع بحيث يمكن الوصول إلى تجميع الذي يحتوي على اسم واضح من صفحة ويب. وصف النموذج في المقال أيضاً كيفية استخدام الأسلوب تأكيد.

back to the top

إنشاء زوج مفاتيح تحتوي على اسم واضح

يتم استخدام زوج مفاتيح تحتوي على اسم واضح تسجيل تجميع لعنصر تحكم مستخدم الذي يحتوي على اسم واضح. يتم استخدام اسم واضح عند إنشاء مجموعة التعليمات برمجية التي تمنح الإذن لاستخدام التجميع من تعليمات برمجية موثوق بها جزئيًا.
  1. افتح موجه أوامر Visual Studio.

    في Microsoft Visual Studio .NET 2002، انقر فوق ابدأ ، وأشر إلى البرامج ، وأشر إلى Microsoft Visual Studio .NET ، أشر إلى أدوات .NET Visual Studio ، ثم انقر فوق موجه الأوامر .NET Visual Studio. Visual Studio يظهر إطار موجّه أوامر .NET.

    في Microsoft Visual Studio .NET 2003 ، انقر فوق ابدأ ، وأشر إلى البرامج ، وأشر إلى Microsoft Visual Studio .NET 2003 ، أشر إلى أدوات .NET Visual Studio ثم ثم انقر فوق موجه الأوامر 2003 .NET Studio مرئية. يظهر Visual Studio .NET 2003 إطار موجّه.

    في Visual Studio 2005 ، انقر فوق ابدأ ، وأشر إلى البرامج ، وأشر إلى Microsoft Visual Studio 2005 ، أشر إلى أدوات 2005 Visual Studio ثم ثم انقر فوق موجه الأوامر 2005 Visual Studio. يظهر Visual Studio 2005 إطار موجّه.

    في Visual Studio ٢٠٠٨، انقر فوق ابدأ ، وأشر إلى البرامج, أشر إلى Microsoft Visual Studio 2008 ، ثم أشر إلى أدوات 2008 Visual Studio ، ثم انقر فوق موجه الأوامر 2008 Visual Studio. يظهر إطار مطالبة 2008Command Visual Studio.
  2. اكتب ما يلي في موجه الأوامر ثم اضغط مفتاح الإدخال ENTER:
    sn c:\snKey.snk إلى كيلو
back to the top

إنشاء عنصر تحكم مستخدم Windows باستخدام Microsoft Visual C# .NET Microsoft Visual C# 2005 أو إصدار أحدث

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

عنصر التحكم هذا المستخدم يوضح كيفية استخدام سمة AllowPartiallyTrustedCallers التجميع. تجميع الذي يحتوي على اسم واضح يمكن استدعاء فقط قبل المتصل موثوق به ثقة كاملة إلا إذا استخدم التجميع السمة AllowPartiallyTrustedCallers. يوضح النموذج عنصر تحكم المستخدم أيضاً كيفية استخدام الأسلوب تأكيد. التصريح أسلوب تأكيد أنه رمز الاستدعاء يمكن استخدام التعليمات البرمجية التي تقوم باستدعاء أسلوب تأكيد الوصول إلى مورد محمي بواسطة طلب إذن. يمكن الرمز الوصول إلى المورد حتى إذا لم يتم منحهم للمتصلين التي تتصدر المكدس إذن للوصول إلى المورد.

عنصر التحكم هذا المستخدم يتيح لك تحديد ملف باستخدام مربع حوار مفتوح. عنصر التحكم ثم فتح الملف النصي في مربع القائمة. تتضمن واجهة المستخدم لعنصر التحكم هذا المستخدم مربع نص ومربع قائمة واحدة. يعرض مربع النص اسم الملف الذي تم تحديده ثم يعرض مربع القائمة محتويات الملف المحدد.

قراءة اسم الملف المحدد من مربع OpenFileDialog ثم قراءة الملف FileIOPermission يجب أن يتم منح نوع الإذن. يجب أن يكون عنصر تحكم المستخدم هذا الإذن الممنوحة من خلال مجموعة التعليمات البرمجية الخاصة به. لم يتم هذا الإذن على صفحة ويب الذي يستدعي عنصر التحكم.

لمنع walk مكدس غير الناجحة لأنه ليس لدى المستدعي نوع الإذن FileIOPermission المطلوبة استخدم الأسلوب تأكيد. لاحظ أن الأسلوب تأكيد يمكن فتح الثغرات الأمنية في حالة استخدام أسلوب تأكيد بطريقة غير صحيحة أو inappropriately. لذلك، يجب استخدام أسلوب تأكيد بحذر رائعة. يجب أن يتبع أسلوب RevertAssert أسلوب تأكيد بمجرد اكتمال عملية الملف.

ملاحظة للتأكد من أن محتويات الملف تظهر بشكل صحيح في مربع القائمة، استخدم عنصر التحكم هذا المستخدم لتحديد ملفات نصية.
  1. بدء تشغيل Microsoft Visual Studio .NET Microsoft Visual Studio 2005 أو إصدار أحدث من برنامج Visual Studio.
  2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع. يظهر مربع الحوار مشروع جديد.
  3. ضمن أنواع Project ، انقر فوق Visual C# المشاريع.

    ملاحظة في Visual Studio انقر فوق Visual C# ضمن أنواع Project.
  4. ضمن قوالب ، انقر فوق Windows "مكتبة التحكم".
  5. في المربع الاسم، اكتب UserControl.
  6. انقر فوق موافق.
  7. في إطار "مستكشف الحلول" ، انقر بزر الماوس الأيمن فوق UserControl1.cs ومن ثم انقر فوق عرض التعليمات البرمجية. يظهر الملف UserControl1.cs.
  8. استبدال التعليمات البرمجية الموجودة في التعليمات البرمجية التالية:
    using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System.Data;using System.Windows.Forms;using System.IO;using System.Security;using System.Security.Permissions;using System.Reflection;using System.Runtime.CompilerServices;[assembly:AllowPartiallyTrustedCallers]namespace UserControl{	/// <summary>	/// Summary description for UserControl1.	/// </summary>	public class UserControl1 : System.Windows.Forms.UserControl	{		private System.Windows.Forms.TextBox textBox1;		private System.Windows.Forms.ListBox listBox1;		/// <summary>		/// Required designer variable.		/// </summary>		private System.ComponentModel.Container components = null;		public UserControl1()		{			// This call is required by the Windows.Forms Form Designer.			InitializeComponent();			// TODO: Add any initialization after the InitForm call.			OpenFileDialog fileDialog = new OpenFileDialog();			if(fileDialog.ShowDialog() == DialogResult.OK)			{				// Reading the name of the selected file from the OpenFileDialog box				// and reading the file requires FileIOPermission.   				// The Assert command must be followed by a RevertAssert as soon as the file operation 				// is completed.				new FileIOPermission(PermissionState.Unrestricted).Assert();				textBox1.Text = fileDialog.FileName;				// Display the contents of the file in the text box.				FileStream fsIn = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read, 					FileShare.Read);				StreamReader sr = new StreamReader(fsIn);							// Process every line in the file.				for (String Line = sr.ReadLine(); Line != null; Line = sr.ReadLine()) 				{					listBox1.Items.Add(Line);				}				// It is very important to call RevertAssert to restore the stack walk for				// file operations.				FileIOPermission.RevertAssert();			}		}		/// <summary>		/// Clean up any resources that are being used.		/// </summary>		protected override void Dispose( bool disposing )		{			if( disposing )			{				if( components != null )					components.Dispose();			}			base.Dispose( disposing );		}		#region Component Designer generated code		/// <summary>		/// Required method for Designer support. Do not modify 		/// the contents of this method with the code editor.		/// </summary>		private void InitializeComponent()		{			this.textBox1 = new System.Windows.Forms.TextBox();			this.listBox1 = new System.Windows.Forms.ListBox();			this.SuspendLayout();			// 			// textBox1			// 			this.textBox1.Location = new System.Drawing.Point(32, 16);			this.textBox1.Name = "textBox1";			this.textBox1.TabIndex = 0;			this.textBox1.Text = "textBox1";			// 			// listBox1			// 			this.listBox1.Location = new System.Drawing.Point(144, 16);			this.listBox1.Name = "listBox1";			this.listBox1.Size = new System.Drawing.Size(120, 95);			this.listBox1.TabIndex = 1;			// 			// UserControl1			// 			this.Controls.Add(this.listBox1);			this.Controls.Add(this.textBox1);			this.Name = "UserControl1";			this.Size = new System.Drawing.Size(376, 120);			this.ResumeLayout(false);		}		#endregion			}}
  9. في "مستكشف الحلول" انقر بزر الماوس الأيمن فوق AssemblyInfo.cs ومن ثم انقر فوق عرض التعليمات البرمجية. يظهر الملف AssemblyInfo.cs.
  10. حدد موقع التعليمة البرمجية التالية:
    [assembly: AssemblyVersion("1.0.*")]
    استبدال هذه التعليمة البرمجية بالتعليمة البرمجية التالية:
    [assembly: AssemblyVersion("1.0.0.0")]
  11. حدد موقع التعليمة البرمجية التالية:
    [assembly: AssemblyKeyFile("")]
    استبدال هذه التعليمة البرمجية بالتعليمة البرمجية التالية:
    [assembly: AssemblyKeyFile("c:\\snKey.snk")]
  12. في القائمة إنشاء ، انقر فوق بنية الحل.
back to the top

إنشاء مجموعة تعليمات برمجية لتعيين أذونات التجميع

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

مجموعة التعليمات برمجية تحديد ما إذا كان تجميع يطابق المعايير المعرّفة من قبل المسؤول التي تتم الإشارة إلى أنه شرط عضوية. إذا كان يطابق التجميع تمنح مجموعة التعليمات البرمجية التجميع مجموعة من الأذونات التي تم إقرانها مع ذلك مجموعة التعليمات البرمجية.

لإنشاء مجموعة التعليمات برمجية:
  1. انقر فوق ابدأ ، وأشر إلى إعدادات ثم انقر فوق لوحة التحكم. يظهر إطار "لوحة التحكم".
  2. انقر نقراً مزدوجاً فوق أدوات إدارية. يظهر إطار أدوات إدارية.
  3. في Microsoft Visual Studio .NET 2002، انقر نقراً مزدوجاً فوق تكوين Microsoft .NET Framework. .NET Framework تكوين يظهر إطار.

    بالنسبة Microsoft Visual Studio .NET 2003 ، انقر نقراً مزدوجاً فوق Microsoft تكوين .NET Framework 1.1. يظهر إطار .NET تكوين 1.1.

    في Microsoft Visual Studio 2005 أو في الإصدارات الأحدث انقر نقراً مزدوجاً فوق تكوين Microsoft .NET Framework 2.0. .NET Framework 2.0 تكوين يظهر إطار.
  4. في الجزء الأيمن، قم بتوسيع نهج أمان وقت التشغيل ، قم بتوسيع الجهاز ثم قم بتوسيع مجموعات الرموز.
  5. انقر بزر الماوس الأيمن فوق All_Code لها ثم انقر فوق جديد. يظهر معالج "إنشاء مجموعة التعليمات البرمجية.
  6. تأكد من أن إنشاء مجموعة تعليمات برمجية جديدة محددة، اكتب MyUserControlCodeGroup في المربع الاسم ، ثم انقر فوق التالي. تظهر صفحة اختر نوع شرط.
  7. في القائمة اختر نوع الشرط لمجموعة التعليمات البرمجية هذه ، انقر فوق اسم قوي.
  8. انقر فوق استيراد. يظهر مربع الحوار استيراد القوية الاسم من التجميع.
  9. حدد موقع الملف UserControl.dll الذي قمت بإنشائه في قسم "إنشاء عنصر تحكم مستخدم Windows باستخدام Microsoft Visual C# .NET أو Microsoft Visual C# 2005 أو إصدار أحدث" ثم انقر فوق فتح.
  10. انقر فوق التالي. تظهر صفحة "تعيين" مجموعة أذونات "إلى مجموعة التعليمات البرمجية.
  11. انقر فوق تعيين الإذن الموجودة استخدام حدد FullTrust من القائمة ومن ثم انقر فوق التالي. تظهر الصفحة "إكمال المعالج".
  12. انقر فوق "إنهاء" لإغلاق المعالج إنشاء مجموعة التعليمات البرمجية.
back to the top

إنشاء ملف HTML استدعاء عنصر تحكم المستخدم

بعد إنشاء مجموعة تعليمات برمجية لتعيين أذونات التجميع يجب إنشاء ملف HTML استدعاء عنصر تحكم المستخدم من المستعرض ثم يجب عليك إعداد البيئة للتأكد من استدعاء عنصر تحكم المستخدم بنجاح.
  1. انقر فوق ابدأ ثم انقر فوق تشغيل واكتب المفكرة ثم انقر فوق موافق.
  2. في "المفكرة" ، قم بلصق التعليمة البرمجية التالية:
    <OBJECT id="MyWinControl1" height="200" width="200" classid="http:UserControl.dll#UserControl.UserControl1" VIEWASTEXT>    </OBJECT> 
  3. في المجلد الجذر معلومات Microsoft Internet Services (IIS) ، قم بحفظ الملف كـ CallUserControl.htm.
  4. نسخ ملف UserControl.dll الذي قمت بإنشائه في قسم "إنشاء عنصر تحكم مستخدم لـ Windows" باستخدام Microsoft Visual C# .NET أو Microsoft Visual C# 2005 أو إصدار أحدث"" إلى المجلد الجذر IIS.
  5. افتح Microsoft Internet Explorer.
  6. في المربع العنوان، اكتب http://localhost/CallUserControl.htm ثم ثم اضغط ENTER. يظهر مربع الحوار فتح.
  7. حدد موقع أي ملف نص ثم انقر فوق فتح. يظهر النص الملف في عنصر تحكم ListBox في المستعرض.
back to the top
مراجع
لمزيد من المعلومات، قم بزيارة مواقع الويب Network (MSDN) المطور Microsoft التالية:
تكوين مجموعات التعليمات البرمجية باستخدام أداة "تكوين .NET Framework
http://msdn2.microsoft.com/en-us/library/eb8xw74a(vs.71).aspx

أسلوب CodeAccessPermission.Assert
http://msdn2.microsoft.com/en-us/library/system.security.codeaccesspermission.assert(vs.71).aspx

تجميعات .NET framework و سمة AllowPartiallyTrustedCallers
http://msdn2.microsoft.com/en-us/library/aa302328.aspx

فئة AllowPartiallyTrustedCallersAttribute
http://msdn2.microsoft.com/en-us/library/system.security.allowpartiallytrustedcallersattribute(vs.71).aspx

اعتبارات الأمان التجميع
http://msdn2.microsoft.com/en-us/library/ab4eace3(vs.71).aspx

تقارير المختصرة الأمان: الأمان في .NET Framework وأسماء قوية
http://msdn2.microsoft.com/en-us/library/aa302416.aspx
back to the top

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 839300 - آخر مراجعة: 07/15/2008 19:26:56 - المراجعة: 4.1

  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2008 Express Edition
  • kbmt kbhowtomaster kbhowto kblistbox kbfileio kbdll kbcontrol kbweb kbuser kbsecurity kbpolicy kbopenfile KB839300 KbMtar
تعليقات
cript>