Formsauthentication: كيفية تحديد أسماء ملفات تعريف الارتباط المختلفة لوحدات التحكم الفرعية/MVC؟
-
02-10-2019 - |
سؤال
أنا أستخدم FormsAuthentication (مع ملفات تعريف الارتباط) لمصادقة المستخدمين ، مع اسم ملف تعريف الارتباط الافتراضي (".aspxauth").
ما أحتاجه هو نظام تسجيل دخول مختلف للدليل الظاهري "/admin/" (مدعوم بواسطة وحدة تحكم ASP.NET MVC ، "Admincontroller") ... كما لو كان الدليل "/admin/" كان تطبيق ويب آخر ، ولكن بدون ذلك إنشاء مشروع ويب آخر داخل الحل.
كيف يمكنني تخصيص ، في وقت التشغيل ، اسم ملف تعريف الارتباط الذي يستخدمه FormsAuthentication؟ يتم قراءة formsauthentication.formsCoOkiename فقط (وثابت ...) ، ويمكن تخصيصه مرة واحدة فقط داخل web.config ...
هل يجب أن أقوم بإنشاء نموذج مصادقة مخصصة؟
يمكن أن يكون مرشح وحدة تحكم ، مثل ما يلي ، رائعًا:
[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
المحلول
الخدعة هي إطار المصادقة الأساسي لا يمكنه حقًا التعامل مع هذا-لا يمكنك تشغيل أجزاء مصادقة متعددة. سيكون الحل الأسهل هو تقسيم أجزاء المشرف إلى موقع ويب منفصل ينتهي به الأمر إلى العيش في مكان آخر ولا ينشغل في مصادقة الموقع العام.