سؤال

نحن نضرب عددًا كبيرًا من الجدران والتعثر مع إنشاء عضويتنا المخصصة استنادًا إلى العضوية Provider و Msmpisthipuser و Roleprovider وما إلى ذلك.

لدينا عدد من المتطلبات المثيرة للاهتمام ولا يبدو أن مزود العضوية يساعدنا كثيرًا في تحقيقها:

  • قد يكون لدى المستخدمين تسجيلات تسجيلات متعددة.
  • لا يملك المستخدمون اسم مستخدم مباشرة (ولكن قد يكون لديهم تسجيل دخول له اسم مستخدم).
  • لدى المستخدمين مرجعًا فريدًا واحدًا (حاليًا مفتاح أساسي يثقل تلقائيًا).

لتنفيذ هذا ، لدينا جدولين: المستخدمين الذين لديهم علاقة واحدة مع تسجيل الدخول.

هذا يعني بشكل فعال أن لدينا مستخدمًا (في عالم افتراضي) يمكنه تسجيل الدخول عبر حساب Active Directory تلقائيًا (عندما يكون ذلك ممكنًا) وعبر مجموعة من اسم المستخدم/كلمة المرور بدلاً من ذلك. سيكون لدينا أيضًا بعض المستخدمين الذين قد لا يكون لديهم حساب إعلان.

لقد حاولت في البداية إعادة تخطي فصول العضوية عن طريق إنشاء: - CustommembershipProvider - Custommembershipuser - CustomRolesProvider

لكن كل ما عندي من قتاله قد منحني عيونًا وكدمات سوداء ، إنه حقًا ، هل حقا يريد اسم المستخدم!

هل ذهبت حول هذا أفضل طريقة؟ هل يجب أن أبدأ من الإرشاد ولا أرث أي شيء؟ هل يجب أن أقوم بإعداده على فئة iProvider؟ أو ربما فصول المفعول العام والوصول العامة؟ أم أنا فقط في عداد المفقودين شيئًا ما مع عضوية Providider؟

أريد أن أبقي تجربة البرمجة النهائية سهلة كما هي لأشياء العضوية خارج الصندوق ، على سبيل المثال

Membership.GetCurrentUser();

وتجنب تجربة أقل من الرسم النهائي ...

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

المحلول

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

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