سؤال

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

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

فقط تبحث عن بعض الأعلاف العامة مرة أخرى على المتطلبات أدناه مع "نعم، مزود العضوية مناسب" أو "لا" لا "، فأنت ضجيج بوصة مربعة في حفرة مستديرة"

متطلبات

  1. قد يطلب من المستخدم تسجيل الدخول باستخدام "رقم الجوال" (اسم المستخدم) و "PIN" (كلمة المرور)، وهذا يناسب جيدا، حيث أنكم بالفعل اشتركوا وأكدوا مع الرسائل القصيرة ويرضع ValidateUser(string username, string password) طريقة تنفيذ

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

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

الشرط 2 و 3 غريبة بعض الشيء. لدينا أساسا 3 آليات تسجيل الدخول المختلفة التي يحتاجها مزود عضوية واحد لإرضاءها.

  • دخل المستخدم الذي تم إدخاله المحمول والدليل
  • دخل المستخدم موبايل فقط (الرمز وراء، افترض أن إرضاء متطلبات الدبوس)
  • تسجيل الدخول الشفاف تماما (الكود وراء القيام بعملية تسجيل الدخول بأكملها)

أي شخص حصل على أي تعليقات / تغذية مرة أخرى على ما ورد أعلاه أو لديك أي نصيحة حول أي تنفيذ مزود عضوية غريبة قمت به في الماضي.

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

المحلول

أعتقد أنه يمكن أن يعمل. نحن نفعل # 3 على أحد مواقعنا. هنا جزء من التعليمات البرمجية التي نستخدمها لرعاية ذلك. لاستخدام هذا، قم بإنشاء صفحة تسجيل دخول (TransParentLogin.aspx أو شيء ما

const string specialpassword = "ThisIsOurSpecialPasswordForBehindTheScenesLogin";

if (MobileNumberFoundInHeader())
{
  string username = GetMobileNumberFromHeaders();
  // Authenticate the user behind the scenes
  System.Web.Security.FormsAuthentication.SetAuthCookie(username, false);
  System.Web.Security.FormsAuthentication.Authenticate(username, specialpassword);
}
else
{
  throw new Exception ("Mobile Number Missing");
}

ثم، في وظيفة ValidateUser في العضوية، تأكد من قيامك بفحص مثل هذا:

public override bool ValidateUser(string username, string password)
{
 const string specialpassword = "ThisIsOurSpecialPasswordForBehindTheScenesLogin";

 bool ValidationSuccess = false;

 // If the password being passed in is the right secret key (same  
 // for all users), then we will say that the password matches the
 // username, thus allowing the user to login 
 if (password == specialpassword)
 {
   ValidationSuccess = true;
 }

 if (DoStandardUsernamePasswordVerification() == true)
 {
   ValidationSuccess = true;
 }

 return ValidationSuccess;
}

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

تيم

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