استكشاف أخطاء الأذونات الشائعة والمشكلات المتعلقة بالأمان في ASP.NET

ينطبق على: Microsoft ASP.NET

ASP.NET دعم العمود الصوتي


استكشاف أخطاء الأذونات الشائعة والمشكلات المتعلقة بالأمان في Microsoft ASP.NET

لتخصيص هذا العمود لاحتياجاتك ، نريد ان ندعوك إلى إرسال أفكارك حول الموضوعات التي تهمك والمشكلات التي تريد مشاهدتها في مقالات قاعده المعارف المستقبلية وأعمده الدعم الصوتي. يمكنك إرسال الأفكار والملاحظات الخاصة بك باستخدام نموذج Ask لذلك . هناك أيضا ارتباط إلى النموذج في الجزء السفلي من هذا العمود.
مرحبا ، هذا هو Vignesh g. من فريق ASP.NET. مرحبا بكم في ASP.NET الصوت دعم العمود! لقد كنت مهندس دعم المطور لأكثر من عامين الآن في مايكروسوفت ، ولقد قضيت وقتي التركيز علي ASP.NET وخدمات معلومات الإنترنت ل Microsoft (IIS). لن يكون التركيز علي هذا العمود لشرح أمان ASP.NET ، ولكن لتوضيح بعض تقنيات استكشاف الأخطاء وإصلاحها والتلميحات التي ستساعدك علي عزل وحل بعض الأذونات الشائعة وسيناريوهات الأمان التي نراها هنا في PSS. الأذونات والمشاكل المتعلقة بالأمان في ASP.NET موثقه بشكل جيد جدا. في الواقع ، سيكون هناك عدد كبير من الناس الذين قد يكون الخوض في نفس القضية قبل لك. لذا ، فان القصد هو ان يكون هذا العمود مكانا جيدا للعثور علي معلومات ذات صله وشامله عن أمن ASP.NET. ليس هناك شعور أفضل من إصلاح المسالة بنفسك.

أدوات مفيده

قبل محاولة إصلاح اي شيء مكسور ، تحتاج إلى التعرف علي نفسك مع عدد قليل من الاداات التي سوف تساعدك علي تضييق القضية. في حالتنا ، سنكون مهتمين في أدوات مثل FileMon ، RegMon ، وتدقيق الأمان. لمزيد من المعلومات حول FileMon ، قم بزيارة موقع Microsoft التالي علي الويب:لمزيد من المعلومات حول RegMon ، قم بزيارة موقع Microsoft التالي علي الويب:

التنقل لأسفل لعزل المشكلة

  • هل عمل التطبيق من قبل ؟ إذا كانت الاجابه بنعم ، ثم ما الذي تغير يمكن ان جعلت كسر التطبيق ؟ من الممكن ان يتم تطبيق تحديثات البرامج أو تحديثات الأمان علي الخادم. التعليمات البرمجية التمهيدية أيضا كان يمكن ان تسبب المشكلة.
  • قم بعمل صفحات html و. asp بسيطه من IIS ؟
  • هل تم ترحيل التطبيق إلى إصدار آخر من IIS ؟
  • هل تفشل تطبيقات ASP.NET الأخرى علي الخادم بنفس الخطا ؟ هل هذا هو التطبيق الوحيد الذي يفشل ؟
  • هل تحدث هذه المشكلة لكافة المستخدمين أو لمستخدمين معينين فقط ؟
  • هل المشكلة قابله للتكرار اثناء الاستعراض محليا علي خادم الويب ، ام انها قابله للتكرار لعدد قليل من العملاء فقط ؟
  • إذا كنت تستخدم الانتحال ، فهل لدي المستخدم المنتحل الوصول الضروري إلى المورد ؟
الاسئله المذكورة أعلاه مفيده من أجل تشخيص مشكله. إذا كنت تقوم بنشر مشكلتك علي اي من منتديات ASP.NET ، وإذا كان لديك بالفعل إجابات لمعظم هذه الاسئله ، فمن المحتمل انك ستحصل علي مؤشر سريع أو حل لمشكلتك. المفتاح هو نشر خطا تتبع مكدس ASP.NET بأكمله ، إذا كان قابلا للتطبيق ، بدلا من القول "انا أتلقى خطا" تم رفض الوصول اثناء محاولة تشغيل تطبيق ASP.NET الخاص بي. يمكن لأي شخص ان يساعد ؟ انه من الأسهل بكثير لشخص ما للنظر في تتبع المكدس وتعطيك مؤشرات عندما يمكن ان نري رسالة خطا كامله. لذلك كنت بحاجه إلى ان نسال نفسك...

ما هي رسالة الخطا بالبالضبط ؟

السؤال الأول الذي نسال العملاء هو ، "ما هي رسالة الخطا بالبالضبط ؟" إذا كان لديك وصف واضح لرسالة الخطا التي تم طرحها بواسطة Microsoft .NET framework ، يمكنك تخطي هذا المقطع. إذا كان التطبيق الخاص بك أقنعه رسالة الخطا الفعلية ويعطيك رسالة خطا مالوفه بدلا من ذلك ، مثل ، "حدث خطا غير متوقع. الرجاء الاتصال بمسؤول موقع الويب للحصول علي التفاصيل ، "انه ليس من الاستخدام الكبير لأي شخص. وفيما يلي بعض الخطوات التي سوف تساعدك علي الحصول علي رسالة الخطا الفعلية.
  • حدد موقع وافتح ملف web.config في دليل التطبيق وتغيير Customerrors إلى وضع = "إيقاف". حفظ الملف ثم أعاده إنشاء المشكلة.
  • قد لا يزال من الممكن رؤية رسالة الخطا الفعلية بعد اتباع الخطوة أعلاه بسبب معالجه الحدث/الخطا المخصصة التي قام بها مطور التطبيق. يمكنك محاولة تحديد موقع الحدث Application_Errorفي الملف العمومي. asax والتعليق خارج اي التعليمات البرمجية التي تستخدم Server. نقل ("أخطاء .aspx") الدالة للانتقال إلى صفحه خطا مخصصه.
/Global.asax void Application_Error(object sender, EventArgs e)  {  // Code that runs when an unhandled error occurs  //Server.Transfer("Errors.aspx");   } 
بمجرد الحصول علي رسالة الخطا الفعلية ، قراءتها لتحديد ما إذا كان الخطا بسبب فقدان الأذونات علي مورد محلي أو علي مورد بعيد يحاول تطبيق ASP.NET الوصول اليه.تلميح يمكنك الاتصال بالمطور لمعرفه كيفيه رؤية رسالة الخطا الفعلية. من الممكن ان المطور الخاص بك قد يكون تسجيل إلى ملف أو الحصول علي اعلامات البريد الكتروني. تذكر دائما لاجراء نسخه احتياطيه من اي ملف التي سيتم تغيير. مع النسخ الاحتياطي المتاحة ، يمكنك دائما استرجاع اي تغييرات.

تحدث المشكلة بسبب فقدان الأذونات علي مورد محلي يحاول التطبيق ASP.NET الوصول إلى

إذا كنت غير قادر علي الحصول علي وصف واضح للمشكلة بسبب رسالة خطا مخصصه تشغيل FileMon وأعاده إنشاء المشكلة. إيقاف وحفظ التقاط ك FileMon .xls وفتح الملف في Microsoft Excel. في قائمه البيانات ، انقر فوق تصفيه، ثم انقر فوق التصفية التلقائية لاستخدام قدرات التصفية الخاصة ب Excel. الآن حدد القائمة المنسدلة في العمود F وابحث عن أخطاء "تم رفض الوصول".يتم عرض نموذج FileMon الإخراج أدناه.
10381 1:01:11 PM w3wp.exe:2320 OPENC:\winnt\microsoft.net\framework\v1.1.4322\Temporary ASP.NETFiles\sessiontest\8832e585\275ec327\global.asax.xml ACCESS DENIED NTAUTHORITY\NETWORK SERVICE 
كما يمكنك ان تري من النتائج المصفاة ، لقد ضاقت سبب المشكلة. يظهر FileMon ان حساب "خدمه الشبكة NT" مفقود أذونات NTFS علي المجلد C:\Winnt\Microsoft.net\Framework\v1.1.4322\Temporary ASP.NET Files. هذا يجب ان يكون مستقيم إلى الامام لإصلاح.للحصول علي مزيد من المعلومات حول استخدام FileMon لاستكشاف أخطاء ASP.NET انقر فوق رقم المقالة التالي لعرضها في "قاعده المعارف ل Microsoft: 
890960 استكشاف الأخطاء وإصلاحها ASP.NET باستخدام filemon
تلميح ستكون خطوه جيده لتغيير حساب العملية ASP.NET إلى حساب مسؤول لمعرفه ما إذا كان يعمل علي إصلاح المشكلة. في IIS 5.x يمكنك تغييراسم المستخدم إلى "النظام" في المقطع طراز العملية من ملف .config الجهاز وفي iis 6.0 تغيير هويه Iis apppool إلى "النظام المحلي" لمعرفه ما إذا كان يعمل التطبيق.ملاحظه لا يجب استخدام هذا كحل ، ولكن فقط كخطوه لاستكشاف الأخطاء وإصلاحها.قد يميل معظم الأشخاص إلى أعاده تثبيت Microsoft .NET framework أو حتى الانتقال إلى الحد الذي يتم به تثبيت نظام التشغيل. هذه ليست خطوه استكشاف الأخطاء وإصلاحها الموصي بها ولا يضمن ان المشكلة لن تتكرر. ساعطي مثالا واحدا من هذا القبيل. غالبا ما تكون المشكلات المتقطعة صعبه العزل واستكشاف الأخطاء وإصلاحها. في هذا السيناريو التطبيق العميل ستعمل بشكل جيد لبضع ساعات ، ومن ثم فجاه ستفشل مع الخطا أدناه. حاول العميل بالفعل أعاده تثبيت .NET framework بالاضافه إلى نظام التشغيل. ويبدو ان هذا لإصلاح المشكلة لبضعة أيام ، ولكن بعد ذلك عادت إلى الظهور.Server Error in '/MyApp' Application لم يظهر تشغيل FileMon اي أخطاء "رفض الوصول". كانت كافة الأذونات الضرورية لحساب ASPNET في مكان. الطريقة الوحيدة للتعافي من المشكلة هي أعاده تشغيل المربع. حتى أعاده تعيين IIS لن يساعد. كنت أفكر "آه ، مايكروسوفت البرمجيات تحتاج دائما أعاده التشغيل لاسترداد ؟" حسنا ، أنت مخطئ!المفتاح هنا هو البحث عن كثب في رسالة الخطا. الخطا يقول بوضوح "لا يمكن فتح ملف للكتابة ،" وليس خطا "رفض الوصول" المعتاد ، لذلك انا أفكر انه بعض العملية الأخرى التي تحتجز قفل علي ملف أو مجلد وعدم السماح ASP.NET للكتابة اليه. فمن المنطقي ان أعاده تمهيد كانت تقتل العملية الأخرى ويبدا التطبيق ASP.NET العمل مره أخرى حتى العملية المارقة تامين الملف مره أخرى. الشيء المنطقي القيام به سيكون لإيقاف تشغيل كافة برامج مكافحه الفيروسات أو برنامج التجسس لجهة خارجيه أو اي ملف آخر مراقبه البرامج التي يتم تشغيلها علي الملقم. انا لا أريد ان أشير إلى اي برنامج الطرف الثالث محدده. ولكن ، بشكل عام ، من المعروف ان برامج مكافحه الفيروسات تسبب الكثير من الحزن لتطبيقات IIS و ASP.NET. مشكله معروفه أخرى بسبب برنامج مكافحه الفيروسات هو فقدان جلسة عمل بتدوير AppDomain عند لمس المجلد Bin أو ملفات .config.تلميح أسهل طريقه لإيقاف تشغيل خدمات الجهات الخارجية هي:
  1. انقر فوق أبدا، ثم انقر فوق تشغيل، ثم اكتب msconfig.
  2. حدد خدمات وتحقق من إخفاء كافة خدمات Microsoft.
  3. انقر فوق تعطيل الكل لإيقاف خدمات الجهات الأخرى.
  4. انقر فوق أبدا، ثم انقر فوق تشغيل، ثم اكتب IISRESET لأعادهتحميل CLR في عمليه العامل.
مراقبه التطبيق الخاص بك لمعرفه ما إذا كانت المشكلة تحدث. إذا قمت بتشغيل برامج مكافحه الفيروسات متعددة ، استخدم أسلوب التجربة والخطا لتحديد اي برنامج معين هو الذي يسبب المشكلة.ملاحظه إذا كان الخطا نفسه استنساخ 100 في المائة من الوقت ، قد لا يكون برنامج مكافحه الفيروسات السبب. يمكن ان يكون هناك أسباب أخرى لهذا الخطا. حاول إنشاء تطبيق اختبار ASP.NET بسيطه لعزل ما إذا كان يحدث نفس الخطا لصفحه .aspx اختبار. إذا كان ذلك ، ثم تحقق من ان قوائم التحكم بالوصول (ACLs) المطلوبة كلها في مكان ل ASP.NET.راجع ASP.NET قوائم التحكم بالوصول المطلوبة (ACLs).تلميح المجلد%Systemroot%\ppppcpccccates. لا يمكنك استخدام مستكشف Windows مباشره لتحرير ACLs لهذا المجلد. بدلا من ذلك ، استخدم موجه الأوامر وتشغيل الأمر التالي:
cacls%windir%\port&/e/e/e المجال \ حساب المستخدم: r
بدلا من ذلك ، قبل استخدام مستكشف Windows ، إلغاء تسجيل Shfusion. dll مع الأمر التالي لإعطاء الأذونات عبر واجهه المستخدم الرسوميه:
C:\WINDOWS\Microsoft.NET\Framework\VersionNumber>regsvr32–u shfusion.dll
بعد تعيين الأذونات مع مستكشف Windows ، أعاده تسجيل Shfusion. dll مع الأمر التالي:
C:\WINDOWS\Microsoft.NET\Framework\VersionNumber>regsvr32 shfusion.dll

تحدث المشكلة بسبب فقدان الأذونات علي مورد بعيد يحاول التطبيق ASP.NET الوصول إلى

عندما يقوم تطبيق ASP.NET بالوصول إلى مورد بعيد مثل Microsoft SQL Server أو مشاركه اصطلاح تسميه عالمي (UNC) ، هناك العديد من الأشياء التي يمكن ان تسوء. أيضا ، قد يتم اعداد العديد من الأشياء بشكل غير صحيح علي المورد البعيد. ستحتاج إلى استكشاف هذه المشكلات وإصلاحها من أجل الحصول علي عمل المورد. لمزيد من المعلومات ، انقر فوق رقم المقالة التالي لعرض المقالة في قاعده معارف Microsoft: 
891031 مشكلات الأمان الشائعة عند الوصول إلى الموارد البعيدة من تطبيقات ASP.NET
ستكون الخطوة الاولي لمعرفه ما إذا كان يمكنك الاتصال بملقم بعيد من خلال مستكشف Windows.
  1. علي الخادم البعيد ، إنشاء مجلد يسمي Test. علي المشاركة وعلامات التبويب الأمان من المجلد اختبار ، أضافه المجال/الحساب الخاص بك ، وأيضا حساب العملية التي يتم استخدامها من قبل تطبيق ASP.NET الخاص بك ، ومنح كل منهما "التحكم الكامل". ملاحظه الرجاء مراجعه 891031 للحصول علي تقنيات أو حلول للوصول إلى الموارد البعيدة من ASP.NET.
  2. علي ملقم IIS تسجيل الدخول باستخدام المجال/الحساب ، انقر فوق أبدا، انقر فوق تشغيل، ثم اكتب مسار مشاركه UNC لملقم بعيد:
    \\RemoteServerName\Test
    إذا كنت غير قادر علي الوصول إلى هذا المجلد ، ثم اتصل بمسؤول الشبكة لإصلاح هذه المشكلة. عندها فقط يمكن لتطبيق ASP.NET الوصول إلى المشاركة.
  3. إنشاء ملف يسمي CreateUNCFile .aspx مع التعليمات البرمجية أدناه وحفظ الملف في دليل التطبيق الخاص بك.
    <%@ Page Language="vb" %><%@ Import Namespace="System.IO" %><html>  <head>  <title>Writing to a Text File</title><script runat="server">    Sub WriteToFile(ByVal sender As System.Object, ByVal e As System.EventArgs)        Dim fp As StreamWriter            fp = File.CreateText("\\<RemoteServerName>\Test\" & "test.txt")            fp.WriteLine(txtMyFile.Text)            lblStatus.Text = "The File Successfully created! Your ASP.NET process is able to access this remote share"            fp.Close()    End Sub</script></head><body style="font: 10pt verdana">            <h3 align="center">Creating a Text File in ASP.NET</h3>    <form id="Form1" method="post" runat="server">                        Type your text:                        <asp:TextBox ID="txtMyFile" TextMode="MultiLine" Rows="10" Columns="60" Runat="server" /><br>                        <asp:button ID="btnSubmit" Text="Create File" OnClick="WriteToFile" Runat="server" />                        <asp:Label ID="lblStatus" Font-Bold="True" ForeColor="#ff0000" Runat="server" />    </form></body></html> 
  4. تاكد من تعديل < ريموتيسيرفيرنامي > في السطر التالي من التعليمات البرمجية
    fp = File.CreateText("\\<RemoteServerName>\Test\" &"test.txt")
    بحيث يعكس اسم الملقم البعيد.
  5. فتح Windows Internet Explorer واستعرض لhttp://Iisservername/ابنامي/كريتيuncfile.aspx من كمبيوتر عميل آخر غير ملقم IIS.
  6. إذا كان الملف .txt بإنشاء بنجاح ، ثم يمكن مصادقه التطبيق ASP.NET إلى المورد البعيد.
  7. إذا فشل إنشاء الملف من مستعرض عميل Internet Explorer ولكن يعمل إذا قمت بالاستعراض إلى نفس الصفحة من ملقم IIS نفسه ، ثم من المحتمل ان تقوم بتشغيل إلى سيناريو "القفزة المزدوجة". إذا كنت تستخدم أجزاء ويب المضمنة المخصصة للوصول إلى الموارد البعيدة التي تتطلب مصادقه المستخدم والتخويل ، فمن المحتمل انك ستعمل في مشكله "القفزة المزدوجة". للوصول إلى المورد البعيد الخاص بك ، قد تحتاج إلى توفير بيانات اعتماد المستخدم النهائي إلى المورد بحيث يقتصر الإخراج من المورد علي البيانات التي لدي المستخدم النهائي اذن الوصول اليها.
تفترض الخطوات المذكورة أعلاه ان لديك مصادقه NTLM قيد التشغيل في IIS. لا تستخدم "المصادقة الاساسيه" Kerberos.لمزيد من المعلومات ، انقر فوق رقم المقالة التالي لعرض المقالة في قاعده معارف Microsoft: 
907272 مصادقه Kerberos واستكشاف مشكلات التفويض وإصلاحها
326985 كيفيه استكشاف المشكلات المتعلقة ب KERBEROS في IIS وإصلاحها
لمزيد من المعلومات حول أساليب مصادقه IIS ، راجع موقع شبكه مطوري Microsoft (MSDN) التالي علي الويب:تلميح إذا كان يمكنك الاتصال بمشاركه UNC البعيد ولكن لا يمكنك الاتصال بملقم بعيد يقوم بتشغيل SQL Server من التطبيق ASP.NET ، ثم قد تضطر إلى التحقق من أو تعيين الخدمة الاساسيه أسماء (SPNs) ل SQL Server. حاول تمكين "المصادقة الاساسيه" فقط للتطبيق الخاص بك في IIS ومعرفه ما إذا كنت قادرا علي الاتصال بملقم بعيد الذي يقوم بتشغيل SQL Server.لمزيد من المعلومات ، انقر فوق رقم المقالة التالي لعرض المقالة في قاعده معارف Microsoft: 
319723 كيفيه استخدام مصادقه KERBEROS في SQL Server
316989 ظهور رسالة خطا عند إنشاء اتصال بيانات موثوق به من ASP.NET إلى SQL Server: "فشل تسجيل الدخول للمستخدم: ' اسم الحساب '"
تلميح من المستحسن أبدا استخدام محركات الاقراص المعينة للاتصال بمورد بعيد لان تعيينات محرك الاقراص هي ملحق للأمر net use ويتم إنشاؤها علي أساس كل مستخدم. الأسلوب المفضل للوصول إلى المحتوي لملقم ويب موجود علي كمبيوتر بعيد استخدام المشاركات التي تتبع UNC. لمزيد من المعلومات ، انقر فوق رقم المقالة التالي لعرض المقالة في قاعده معارف Microsoft: 
257174 باستخدام محركات الاقراص المعينة مع IIS

المشكلة المتعلقة بأمان الوصول إلى التعليمات البرمجية (CAS)

رسائل الخطا في ASP.NET مفصله و, في كثير من الأحيان, أقول لكم بالبالضبط ما هي المشكلة. في بعض الحالات ، FileMon أو RegMon قد لا التقاط اي شيء مفيد. دعوانا نلقي نظره علي سيناريو واحد من هذا القبيل.

السيناريو

اثناء محاولة استعراض تطبيق ASP.NET ، يفشل مع خطا عام مثل خطا الشائنة التالية:
Server Application Unavailable
يظهر سجل الاحداث:
نوع الحدث: خطامصدر الحدث: ASP.NET 1.1.4322.0فئة الحدث: لا شيءمعرف الحدث: 1088التاريخ: 10/11/2006الوقت: 10:54:04 مالمستخدم: N/Aحاسوب: اسم الكمبيوتروصف:فشل تنفيذ الطلب لتعذر إنشاء مجال التطبيق. خطا: 0x8013150a
عند إنشاء مجال تطبيق ASP.NET ، يقرا ASP.NET القيمة المحددة لسمه المستوي لعنصر تكوين الثقة ، ويقوم بإنشاء مثيل للفئة Aspnethostingpermission مع المحددسمه المستوي ، ثم يضيف الفئة إلى مجموعه الأذونات لمجال التطبيق. ستري الخطا أعلاه إذا تم تكوين مستويات الثقة بشكل غير صحيح أو تعديلها. لمزيد من المعلومات ، راجع "مستويات الثقة ASP.NET" و "ملفات النهج" في موقع MSDN التالي علي الويب:لحل هذه المشكلة ، يمكنك محاولة هذا تلميح في "تحدث المشكلة بسبب فقدان الأذونات علي مورد محلي يحاول التطبيق ASP.NET الوصول" المقطع ولكن لا الحصول علي بخيبة أمل إذا لم يعمل التطبيق مع مسؤول أو حساب SYSTEM. تحتاج إلى التحقق لمعرفه ما إذا كان يمكن ان يكون سبب المشكلة بواسطة "أمان الوصول إلى التعليمات البرمجية". يمكن القيام بذلك بسهوله عن طريق إيقاف تشغيل "أمان الوصول إلى التعليمات البرمجية" باستخدام الاداه المساعدة Caspol.
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 >كاسبول-s قبالهمايكروسوفت (R) .NET framework CasPol 1.1.4322.573حقوق التاليف والنشر (C) مايكروسوفت كوربوريشن 1998-2002. جميع الحقوق محفوظه.النجاحC:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 >
بمجرد تشغيلcaspol-s إيقاف، أعاده تعيين IIS وحاول استعراض التطبيق. إذا كانت هذه الخطوة تعمل ، ثم تحتاج إلى التحقق من مجموعه الأذونات لمجموعات التعليمات البرمجية. يمكنك الوصول إلى مجموعات التعليمات البرمجية في أداه تكوين رقمالإصدار .Net framework Microsoft الموجودة في "أدوات اداريه".في هذا السيناريو ، تم تعيين الأذونات لمجموعه التعليمات البرمجية My_Computer_Zone إلى لا شيء. تغييره إلى ثقة كامله حل المشكلةملاحظه للوصول إلى المجموعة تعليمات برمجيه My_Computer_Zone اتبع الخطوات التالية:
  1. في "لوحه التحكم" ، انقر نقرا مزدوجا فوق أدوات اداريه.
  2. انقر نقرا مزدوجا فوق تكوين رقم الإصدار الخاص ب Microsoft .NET framework .
  3. انقر نقرا مزدوجا فوق نهج أمان وقت التشغيل.
  4. انقر نقرا مزدوجا فوق الجهاز.
  5. انقر نقرا مزدوجا فوق مجموعات التعليمات البرمجية.
  6. انقر نقرا مزدوجا فوق All_Code.
  7. انقر نقرا مزدوجا فوق My_Computer_Zone.
تلميح تذكر ان تقوم بتشغيل caspol-s علي لتشغيل CAS مره واحده قمت بإصلاح المشكلة.لمزيد من المعلومات ، راجع ASP.NET أمان الوصول إلى التعليمات البرمجية.هناك العديد من الأسباب الأخرى لرسالة الخطا "تطبيق الخادم غير متوفر". سجل الاحداث هو أفضل رهان للحصول علي مزيد من التفاصيل حول سبب المشكلة.

الأخطاء المتعلقة ب IIS

سجلات IIS مفيده جدا في حالات الأخطاء المتعلقة بمصادقه IIS. السيناريو الشائع هو عندما يري المستخدم عاده ما يلي:
You are not authorized to view this page
ما تحتاج إلى البحث عنه هو الحالة ورموز الحالة الفرعية لهذا الخطا بالذات.
2006-10-12 22:47:28 W3SVC1 65.52.18.230 GET/Myapp/login.aspx-80Mydomain\ UserID_91 65.52.22.58 موزيلا/4.0 + (متوافق ؛ + msie + 6.0 ؛ + WINDOWS + NT + 5.2 ؛ + SV1 ؛ +. NET + clr + 1.1.4322 ؛ +. NET + clr + 2.0.50727 ؛ + InfoPath. 1) 401 3 5
ونحن نري 401 مع الحالة الفرعية 3 ، الذي يشير إلى "غير مصرح به بسبب ACL علي المورد."يشير هذا إلى أذونات NTFS مفقوده علي ملف أو مجلد. قد يحدث هذا الخطا حتى إذا كانت الأذونات الصحيحة للملف الذي تحاول الوصول اليه ولكن قد تكون الأذونات الافتراضية وحقوق المستخدم مفقوده علي المجلدات الأخرى SYSTEM و IIS. علي سبيل المثال ، قد تشاهد هذا الخطا إذا لم يكن حساب الIUSR_ComputerName الوصول إلى الدليل C:\Winnt\System32\Inetsrv. لمزيد من المعلومات حول رموز حاله IIS ، انقر فوق رقم المقالة التالي لعرضها في "قاعده المعارف ل Microsoft": 
318380 وصف التعليمات البرمجية لخدمات معلومات إنترنت ل MICROSOFT (IIS) 5.0 و 6.0 رموز الحالة
812614 الأذونات الافتراضية وحقوق المستخدم ل IIS 6.0
271071 كيفيه تعيين أذونات NTFS المطلوبة وحقوق المستخدم لخادم ويب IIS 5.0
تلميح انقر فوق أبدا، ثم انقر فوق تشغيل، ثم اكتب logfiles لفتح المجلد الذي يحتوي علي سجلات IIS. بدلا من ذلك ، في صفحه الخصائص لموقع الويب الخاص بك في IIS ، انقر فوقعلامة التبويب Websitename ، وتحت تنسيق السجل النشط، انقر فوق خصائص لمشاهده دليل ملف السجل واسمه.الشيء الآخر المهم هنا هو رمز الحالة 5. يمكنك استخدام الأمر net تعليمات للحصول علي مزيد من المعلومات حول رمز الحالة هذا:
C:\poctiings\user\ المستخدم >net هيلرساله 5
تم رفض الوصول.
دعوانا نحاول آخر رمز الحالة الشائعة ، رمز 50:
C:\poctiings\user\ المستخدم > net التعليمات50
الطلب غير معتمد.
تلميح كلما تحصل علي آخر عام الشائنة "500 خطا خادم داخلي" رسالة ، ثم انها فكره جيده لتعطيل رسائل خطا HTTP وديه ، بحيث تتلقي وصفا مفصلا للخطا. لا تنسي ان ننظر في الحدث المشاهد كما انها قد تحتوي أيضا علي مزيد من المعلومات.
لمزيد من المعلومات حول كيفيه تعطيل رسائل خطا HTTP المالوفه ، انقر فوق رقم المقالة التالي لعرض المقالة في قاعده معارف Microsoft: 
294807 إيقاف تشغيل internet Explorer 5.x و 6.x "إظهار رسائل خطا HTTP المالوفه" علي جانب الملقم
والفكرة هي لاستخدام جميع المعلومات المسجلة المتاحة للحصول علي اقصي قدر من التفاصيل حول المشكلة في متناول اليد.

الموارد

للمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft": 
306590 نظره عامه علي الأمان ASP.NET
317012 عمليه المعالجة وطلب الهوية في ASP.NET
وأمل ان هذه التقنيات البسيطة مفيده في مساعدتك علي حل الأمن والأذونات المتعلقة بالمشاكل. تذكر ، الاعمده دعم الصوت هي لك! كما هو الحال دائما ، لا تتردد في استخداماطلب النموذج لإرسال الأفكار حول المواضيع التي تريد مشاهدتها في الاعمده المستقبلية أو في قاعده المعارف.