سؤال

وكيف لي أن التوجه نحو وضع علامات المصادقة مختلفة لأجزاء مختلفة من التطبيق الويب الخاص بي؟ قل لي:

/
/folder1/
/folder2/

وسيكون من الممكن لتحديد علامات <authentication/> مختلفة لكل مجلد؟

وأريد FOLDER1 لاستخدام مصادقة ويندوز ولكن مصادقة النماذج استخدام folder2.

وحاولت القيام في علامة <location/> لكنها لا تبدو وكأنها يمكن أن يكون علامات <authentication/> في <location/> العلامات، على الأقل ليس عبر VS 2008 مع انها بنيت في خادم الويب.

وهذه الأخطاء من تقول - خطأ 3 من الخطأ استخدام القسم مسجلة كما allowDefinition = 'MachineToApplication' خارج مستوى التطبيق. يمكن أن يكون سبب هذا الخطأ دليل ظاهري لم يتم تكوين كتطبيق في IIS.

<location path="/folder1">
    <system.web>
      <authentication mode="Forms" />
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>
هل كانت مفيدة؟

المحلول

هل يمكن أن يكون <authentication /> على أعلى مستوى web.config فقط. قد يكون لديك لإنشاء تطبيقات متعددة. أي يمكنك إنشاء تطبيق في تطبيق واستخدام أوضاع المصادقة مختلفة في كل واحد.

نصائح أخرى

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

وبمجرد الانتهاء من ذلك، سوف يكون المجلد رمز مختلف في إدارة IIS. داخل المجلد الفرعي الخاص بك، قم بإنشاء ملف web.config جديد وإضافة إعدادات المصادقة جديدة هناك.

لمزيد من المعلومات المتاحة على الموقع إنشاء تطبيقات .

وأعتقد أنك يمكن أن يحدد التفويض مصادقة النماذج على FOLDER1 إلى

<allow users="*" />

وبعد ذلك السيطرة على وصول ويندوز عن طريق إعداد أذونات النوافذ على المجلد.

ولم أحاول ذلك، ولكن لا يمكنني أن أرى لماذا هذا لن ينجح.

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