Formsauthentication: كيفية تحديد أسماء ملفات تعريف الارتباط المختلفة لوحدات التحكم الفرعية/MVC؟

StackOverflow https://stackoverflow.com/questions/3712798

سؤال

أنا أستخدم FormsAuthentication (مع ملفات تعريف الارتباط) لمصادقة المستخدمين ، مع اسم ملف تعريف الارتباط الافتراضي (".aspxauth").

ما أحتاجه هو نظام تسجيل دخول مختلف للدليل الظاهري "/admin/" (مدعوم بواسطة وحدة تحكم ASP.NET MVC ، "Admincontroller") ... كما لو كان الدليل "/admin/" كان تطبيق ويب آخر ، ولكن بدون ذلك إنشاء مشروع ويب آخر داخل الحل.

كيف يمكنني تخصيص ، في وقت التشغيل ، اسم ملف تعريف الارتباط الذي يستخدمه FormsAuthentication؟ يتم قراءة formsauthentication.formsCoOkiename فقط (وثابت ...) ، ويمكن تخصيصه مرة واحدة فقط داخل web.config ...

هل يجب أن أقوم بإنشاء نموذج مصادقة مخصصة؟

يمكن أن يكون مرشح وحدة تحكم ، مثل ما يلي ، رائعًا:

[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
هل كانت مفيدة؟

المحلول

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

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