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

كيفية تأمين تطبيق ASP.NET عن طريق استخدام أمان Windows

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

اضغط هنا لرابط المقالة باللغة الانجليزية315736

تشير هذه المقالة إلى مساحات أسماء Microsoft .NET Framework فئة مكتبة التالية:
  • System.Security

في هذه المهمة

الموجز
يمكن استخدام ASP.NET مع Microsoft معلومات إنترنت Services (IIS) لمصادقة المستخدمين ويب استناداً إلى اعتمادهم حساب مستخدم Microsoft Windows 2000 أو Windows Server 2003. يمكن تكوين مشغّل تنفيذ ASP.NET أيضاً انتحال صفة مستخدمي ويب أو استخدام هوية Windows الخاص به عندما يصل إلى موارد مثل قواعد البيانات أو الملفات.


متطلبات

تحتاج الأجهزة التالية والبرامج البنية الأساسية للشبكة لتنفيذ الإجراءات في هذه المقالة:
  • Windows 2000 Server Service Pack 2
  • IIS 5.0
  • Windows Server 2003 مع IIS 6.0
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio .NET
تحتاج أيضاً خبرة بما يلي:
  • تطوير ASP.NET مع Visual Basic .NET
  • إدارة IIS
  • إدارة حساب مستخدم Windows 2000

كيفية تطوير موقع ويب

في هذا الإجراء، يتم إنشاء ويب ASP.NET بسيطة التطبيق مؤمنة باستخدام مصادقة Windows.
  1. بدء تشغيل Visual Studio .NET ثم قم بإنشاء تطبيق ويب ASP.NET Visual Basic جديد يسمى "WindowsSite."
  2. اسحب عنصر تحكم تسمية من مربع الأدوات إلى نموذج ويب WebForm1.aspx ثم قم بتعيين خاصية المعرف الخاصة بها إلى authUserPrincipalLabel.
  3. اسحب عنصر تحكم تسمية ثاني من مربع الأدوات إلى نموذج ويب WebForm1.aspx ثم قم بتعيين خاصية المعرف الخاصة بها إلى aspPrincipalLabel.
  4. انقر نقراً مزدوجاً فوق WebForm1.aspx لعرض إطار التعليمات البرمجية ثم قم بإضافة عبارة عمليات الاستيراد التالية أعلى تعريف فئة:
    Imports System.Security						
    إضافة التعليمة البرمجية التالية إلى إجراء الحدث Page_Load:
    Dim authUserName As StringDim aspUserName As StringauthUserName = User.Identity.NameaspUserName = Principal.WindowsIdentity.GetCurrent.NameauthUserPrincipalLabel.Text = "You are: " & authUserNameaspPrincipalLabel.Text = "This page runs as: " & aspUserName					
  5. عرض ملف Web.config المشروع ومن ثم عيّن موقع العنصر authentication. تحقق من السمة وضع على قيمة من Windows.
  6. إنشاء وحفظ المشروع.
  7. قم بتشغيل المشروع ثم قم بتأكيد عرض الصفحة بالرسالة التالية:
    • في Windows 2000
      :
      يعمل هذه الصفحة على أنه: \ASPNET DomainOrServer
    • في Windows Server 2003
      :
      يعمل هذه الصفحة على أنه: \NETWORK DomainOrServer خدمة
    ملاحظة لا يتم عرض اسم المستخدم الخاص بك بسبب عدم التي تمت مصادقتها بواسطة IIS; لا يزال يتم تمكين الوصول المجهول.
  8. قم بإنهاء Internet Explorer لإيقاف المشروع.

كيفية تعطيل الوصول المجهول

في هذا الإجراء، يجب تكوين IIS تتطلب مصادقة متكاملة Windows لموقع WindowsSite.
  1. تصغير Visual Studio ومن ثم بدء تشغيل "خدمات إنترنت" إدارة من مجموعة برنامج "الأدوات الإدارية".
  2. قم بتوسيع الملقم الخاص بك موقع ويب الافتراضي الخاص بها انقر بزر الماوس الأيمن فوق موقع WindowsSite لها ثم انقر فوق خصائص.
  3. في علامة التبويب أمان الدليل في مربع الحوار خصائص WindowsSite انقر فوق الزر "تحرير" في المقطع "مجهول بالوصول والمصادقة تحكم".
  4. انقر لإلغاء تحديد خانة الاختيار وصول مجهول ، تحقق من أن خانة الاختيار مصادقة Windows المدمجة تحديد ومن ثم انقر فوق موافق.
  5. انقر فوق موافق لإغلاق مربع الحوار خصائص WindowsSite.
  6. العودة إلى Visual Studio ثم قم بتشغيل المشروع. تأكد من عرض الصفحة بالرسالة التالية:
    • في Windows 2000
      تكون: Your Windows user name
      يعمل هذه الصفحة على أنه: \ASPNET DomainOrServer
    • في Windows Server 2003
      تكون: Your Windows user name
      يعمل هذه الصفحة على أنه: \NETWORK DomainOrServer خدمة
    ملاحظة تمت مصادقتها عبر حساب Windows. قد لا يتم تسجيل الدخول إلى Windows, قد يكون تم منك Windows اسم المستخدم وكلمة المرور.
  7. قم بإنهاء Internet Explorer لإيقاف المشروع.

تخويل

في ASP.NET ، فمن الممكن للسماح التخويل إلى التطبيق عند توفير إعدادات إضافية ضمن Web.config الملف. يمكنك السماح بعض المستخدمين أو الوصول إلى مجموعات معينة على هذه الإعدادات إضافية. توضح الأمثلة التالية هذه الإمكانية. السماح بالوصول إلى كافة المستخدمين في مجموعة Windows NT التي تسمى 'المدراء' ، استخدم التعليمات البرمجية التالية:
<configuration>     <system.web>       <authorization>         <allow roles="domainname\Managers" />         <deny users="*" />       </authorization>     </system.web>   </configuration>				
للسماح بالوصول إلى بعض المستخدمين فقط استخدام التعليمات البرمجية التالية:
<configuration>     <system.web>       <authorization>         <allow users="domainname\user1,domainname\user2,domainname\user3" />         <deny users="*" />       </authorization>     </system.web>   </configuration>				
ملاحظة أنت تشير العديد من المستخدمين أو الأدوار عند استخدام قائمة مفصولة بفواصل.


كيفية تمكين الانتحال

في هذا الإجراء، يجب تكوين التطبيق WindowsSite انتحال صفة المستخدم Windows الذي يتم الوصول إليه.
  1. في Visual Studio عرض ملف Web.config للمشروع WindowsSite.
  2. إضافة العنصر التالي بعد العنصر authentication:
    <identity impersonate = "true" />					
  3. حفظ Web.config.
  4. تشغيل المشروع. تأكد من عرض الصفحة مع الرسالة التالية (لاحظ أن مشغل تنفيذ ASP.NET سيستخدم اعتماد Windows الوصول إلى موارد نيابة عنك):
    تكون: Your Windows user name
    يعمل هذه الصفحة على أنه: Your Windows user name
  5. قم بإنهاء Internet Explorer لإيقاف المشروع.

كيفية تعيين الأساسي مخصص

في هذا الإجراء، سيتم تكوين التطبيق WindowsSite لاستخدام أساس أمان مخصصة:
  1. بدء تشغيل ميزة "إدارة الكمبيوتر" من مجموعة برنامج "الأدوات الإدارية". إنشاء حساب مستخدم Windows 2000 جديد يسمى "WindowsSite" باستخدام كلمة مرور "كلمة المرور" (لاحظ ما إذا كان الملقم وحدة تحكم مجال و ثم استخدم أداة Active Directory Users and Computers).
  2. يجب أن يكون انقر لإلغاء تحديد يجب على المستخدم تغيير كلمة المرور عند تسجيل الدخول التالي خانة الاختيار. ملاحظة أساس المخصصة تحديد أذونات الموضحة في مقالة قاعدة البيانات التالية:
    317012INFO: هوية الطلب في ASP.NET و معالجة
  3. عند إنشاء حساب WindowsSite إغلاق الأداة الإدارية المستخدمة في إنشائه.
  4. في Visual Studio عرض ملف Web.config للمشروع WindowsSite.
  5. تحرير عنصر identity لقراءة كما يلي:
    identity impersonate = "true"       userName = "DomainOrServerName\WindowsSite"       password = "password"/>
    حيث DomainOrServerName هو إما اسم نظام التشغيل Windows 2000 أو مجال Windows Server 2003 (في بيئة مجال) أو من جهاز الكمبيوتر الخاص بك (في بيئة مجموعة عمل).
  6. حفظ Web.config.
  7. تشغيل المشروع. تأكد من عرض الصفحة بالرسالة التالية:
    تكون: Your Windows user name
    يعمل هذه الصفحة على أنه: \WindowsSite DomainOrServerName
    ملاحظة سيستخدم Aspnet_wp.exe بيانات اعتماد Windows التي حددتها الوصول إلى موارد نيابة عنك.
  8. قم بإنهاء Internet Explorer لإيقاف المشروع.
ملاحظة يجب أن يكون هوية عملية impersonates مستخدم معين على مؤشر ترابط الامتياز قانون كجزء من نظام التشغيل.
  • على نظام التشغيل Windows 2000 بشكل افتراضي عملية Aspnet_wp.exe تشغيله ضمن حساب كمبيوتر يُسمى ASPNET.
  • على Windows Server 2003 بشكل افتراضي عملية Aspnet_wp.exe تشغيله ضمن حساب كمبيوتر المسمى NetworkService. على الرغم من ذلك، هذا الحساب ليس لدى الامتيازات الصحيحة انتحال صفة مستخدم معين. تتلقى رسالة خطأ عند محاولة انتحال صفة مستخدم معين.
كمحاولة للتغلب على هذه المشكلة استخدم إحدى الطرق التالية:
  • منح الامتياز العمل كجزء من نظام التشغيل إلى حساب ASPNET (حساب على الأقل المميز).

    ملاحظة على الرغم من أنه يمكنك استخدام هذا الأسلوب إلى حل المشكلة "، ولا تنصح Microsoft هذا الأسلوب.
  • تغيير الحساب الذي يتم تشغيل عملية Aspnet_wp.exe ضمن إلى حساب النظام في المقطع تكوين <processmodel>من الملف Machine.config.
للحصول على مزيد من المعلومات حول عملية ASPNET قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:

استكشاف الأخطاء وإصلاحها

أمان Windows في أحد مواقع ويب ASP.NET يمكن إضافية محسن (وإعادة تعقيدًا) باستخدام أذونات ملفات NTFS. إذا لم يكن حساب Windows أذونات قراءة صفحة ويب ASP.NET اتصال IIS يطالبك بيانات اعتماد Windows بديل. وبشكل مماثل، إذا حاول الوصول إلى ملف لا يحتوي أساس الأمان المستخدمة من قبل مشغّل تنفيذ ASP.NET الوصول إلى إحدى صفحات ASP.NET ، فستتم مطالبتك ببيانات الاعتماد بديل. NTFS الأذونات طريقة فعالة للتحكم في الوصول إلى subsections لموقع ويب.

مراجع
للحصول على مزيد من المعلومات حول استخدام مصادقة Windows في أحد مواقع ويب ASP.NET راجع الموضوع "أمان" تطبيق ويب ASP.NET في وثائق .NET Framework.

أيضاً، راجع المقال "المصادقة في ASP.NET: .NET الأمان إرشادات" في موقع MSDN التالي:
انتحال صفة تطبيق ويب ASP.NET آمنة

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

خصائص

رقم الموضوع: 315736 - آخر مراجعة: 12/03/2007 19:53:49 - المراجعة: 3.11

Microsoft ASP.NET 1.0, Microsoft Internet Information Services 5.0, Microsoft ASP.NET 1.1, Microsoft Internet Information Services 6.0

  • kbmt kbconfig kbhowtomaster kbinfo kbsecurity kbweb KB315736 KbMtar
تعليقات
/html>&t=">
a');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> did=1&t=">/html>p;did=1&t=">d=1&t=">>