سؤال

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

علي سبيل المثال:

عندما يذهب الموقع مباشرة، سوف يذهب المستخدمون إلى http://www.mydomain.com. والتي لن تتطلب منهم تسجيل الدخول.

من أجل النسخة التجريبية أريد تقييد الوصول. المستخدمين الذين يذهبون إلى http://www.mydomain.com. سيتم إعادة توجيهها إلى صفحة تسجيل الدخول. سيتم إعادة توجيه أي شخص يحاول الوصول إلى أي جزء من الموقع غير المصادق عليه مرة أخرى إلى صفحة تسجيل الدخول.

يمكنني عصا [السمات المفوضة] في جميع أنحاء إجراءات التحكم الخاصة بي، ولكن يبدو ذلك غبيا.

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

المحلول

إذا كنت تستخدم ASP.NET MVC، فهو يأتي مع مصادقة / إذن خارج الصندوق. يجب أن تكون قادرا على استخدام ذلك لإعداد المصادقة على موقعك.

بدلا من ذلك، يمكنك إعداد إعدادات Server App Server - يسمح لك IIS بإعداد اسم المستخدم / كلمة المرور على موقع معين، وهو خدم، بغض النظر عما قد يقوم به التطبيق الفعلي. إذا كان لديك حق الوصول إلى خادم التطبيقات، فقد يكون هذا الحل الأفضل.

إذا كنت تستخدم IIS6، فيمكنك إعداد إذن بسهولة. انقر بزر الماوس الأيمن فوق موقعك> خصائص> علامة تبويب أمان الدليل> المصادقة والتحكم في الوصول> تحرير وإدخال اسم مستخدم / PWD من اختيارك. منجز.

نصائح أخرى

السؤال الحقيقي هو كيف يتم دعوتهم إلى بيتا الخاص؟

يمكنك إعداد كلمة مرور تنخفض ملف تعريف الارتباط مثل ServerFault.com لا.

أو

إذا كنت تعرف من أنت تدعو: يمكنك إضافتها إلى النظام قبل اليد باستخدام معلومات البريد الإلكتروني / تسجيل الدخول التي تعرفها بالفعل (على افتراض أنك تدعوها عبر البريد الإلكتروني)

لقد قمت بتنفيذ وظيفة في تطبيق ويب منذ فترة من الوقت حيث نذهب إمكانية منع الوصول إلى الموقع الكامل ما لم يكن المستخدم مسؤول (وهو في حالتنا يعني أن حساب المستخدم كان عضوا في مجموعة معينة في Active Directory ).

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

<add key="adminaccessonly" value="0" />

سوف تحقق فئة الصفحة المخصصة هذه القيمة عند التحميل. إذا لم يكن الأمر كذلك، فسوف يعيد توجيه الصفحة (التي لم ترث نفس فئة الصفحة المخصصة، على الرغم من) إبلاغ المستخدم بأن "الموقع غير متوفر الآن". إذا كانت القيمة 0، فستحميل الصفحة كالمعتاد.

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

أفضل طريقة هي نظام دعوة (بناء على رمز الدعوة) أو تأكيد يدويا الوصول بعد إنشاء ملف تعريف في نظامك. IMHO

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

أو بدلا من ذلك، يمكنك استخدام Apache أو IIS لإجبار المصادقة على الوصول إلى دليل الويب. الحفاظ على معلومات المصادقة في .htaccess لفترة من الوقت.

على الرغم من أنك تستخدم مصادقة معرف مفتوحة، فقد لا تزال بحاجة إلى بعض أشكال آلية التفويض. سيكون أبسط شكل نظام أدوار المستخدم في قاعدة البيانات الخاصة بك يعين أدوارا مختلفة للمستخدمين

في حالتك، ما عليك سوى تعيين دور Private_Beta بدعوة بيتا الخاصة وتأكد من آلية التفويض الخاصة بك أن جميع المستخدمين لديهم امتياز private_beta قبل أن تستمر.

إذا كنت لا ترغب في تقديم إذن للموقع العام (حيث يمكن للجميع القيام بكل شيء، بمجرد المصادقة)، فقد تحتاج إلا إلى إجراء ما بعد معالجة سريعة وقذرة (لخاصة بيتا فقط) على Open_ID المستخدمين المصادق عليهم للتحقق منها خارج القائمة القصيرة (والتي يمكنك تخزينها في ملف نصي.

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