سؤال

لقد كتبت طلبًا جديدًا في شبكة لم أعمل بها من قبل، وأواجه مشكلة.

إذا كان لدي رمز C# التالي:

FileStream fs = File.Create(@"\\MyServer\MyShare\testing.txt");
fs.Close();

في تطبيق وحدة التحكم، يتم تنفيذ هذا الرمز بشكل صحيح.

في أحد تطبيقات ASP.Net، أتلقى هذا الخطأ: فشل تسجيل الدخول:اسم مستخدم غير معروف أو كلمة مرور سيئة.

في تطبيق ASP.Net، إذا أضفت هوية انتحال الهوية = "صحيح"، أحصل على هذا الخطأ: تم رفض الوصول إلى المسار '\MyServer\MyShare esting.txt'.

لم أواجه رسالة فشل تسجيل الدخول هذه من قبل؛من أين يأتي هذا؟إذا قمت بإنشاء تطبيق على الخادم وطلبت كتابته في الموقع الفعلي، فإنه يعمل بشكل جيد (لذا فإن الأمان هناك جيد)، فيبدو كما لو أن أمان المشاركة لا يعمل (على الرغم من أنه يحتوي على مجموعة "الجميع" إلى عمليات الكتابة الكاملة)، أو أن هناك شيئًا مفقودًا على مستوى الخادم حيث لا يُسمح لي بعرض أي شيء بشكل عام.

هل يعرف أحد ما الذي أفتقده هنا؟لقد كتبت تطبيقات أخرى قامت بأشياء مماثلة ولم أواجه هذه المشكلة مطلقًا

شكرًا!

هل كانت مفيدة؟

المحلول

تحديث:

لذلك أعتقد أنني نشرت هذا في وقت مبكر جدا ...كان سبب فشل المضيف المحلي الخاص بي هو تعيين الدليل على أنه يسمح بالوصول المجهول (وبالتالي لم تكن الصفحة تنتحل صفة؛كان المستخدم '').

كما بدأ العمل على الخادم أيضًا؛ومع ذلك، لم يتغير شيء هناك..لا أعرف ما إذا كان قد تم تشغيل شيء ما أثناء فترة توقف/إيقاف تشغيل التطبيق أم ماذا، ولكن كل شيء يعمل كما هو متوقع.

شكرا على التعليقات!

نصائح أخرى

تكمن المشكلة في أنه مع تعيين انتحال الهوية على خطأ، يحاول حساب العملية المنفذة لـ ASP.NET الكتابة إلى المشاركة، وعادةً ما يكون هذا هو حساب NETWORK SERVICE أو ASPNET.اعتمادًا على إصدار Windows الذي تقوم بتشغيله.

سيؤدي تعيين انتحال الشخصية إلى صحيح، دون تحديد اسم مستخدم أو كلمة مرور، إلى استخدام مصادقة المستخدمين الحالية لمحاولة تقديم الطلب.

ستحتاج إلى منح أذونات حساب العملية المنفذة، وهو أمر غير ممكن على الأرجح.أو قم بإنشاء حساب محدد يمكن لتطبيقك انتحاله، ثم حدد بيانات الاعتماد داخل web.config في علامة الهوية.

بشكل افتراضي، تعمل تطبيقات ASP.NET كـ جهازك\IUSR_جهازك. يجب عليك إما فتح الأذونات الخاصة بالمشاركة للجميع (والتي قد لا تعمل إذا لم تكن الأجهزة في نفس المجال)، أو تشغيل تطبيق IIS الخاص بك كشخص لديه حق الوصول إلى المشاركة.

يمكنك تغيير المستخدم الذي يعمل ضمنه تطبيق ASP.NET عن طريق:

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

مايك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top