هل أنا مخطئ في الرغبة في لفة نظام المصادقة / المفوض الخاصة بي بالنظر إلى المتطلبات التالية؟

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

سؤال

في مشروع PET الخاص بي، أريد أن يكون لديك نظام مستخدم مع المتطلبات التالية:

  • يحتاج إلى العمل مع DB4O. كنموذج الثبات
  • أريد استخدام DI (عن طريق عنفة) تقديم التبعيات اللازمة لنموذج المستخدم الخاص بي
  • يجب أن يكون من السهل توصيله في ASP.NET-MVC
  • يجب أن تكون قابلا لفحصها دون الكثير من المتاعب
  • يحتاج إلى دعم المستخدمين المجهولين مثل ذلك
  • أريد أن المصادقة والترخيص مفصولة (يمكن أن يعيش الأول بدون الثانية)
  • يجب أن تكون آمنة

أنا أدرك أنني أضع بعض التقنيات قبل وظائف هنا، ولكن كما هو مشروع حيوانات أليفة وأريد أن أتعلم بعض الأشياء الجديدة التي أعتقد أنها معقولة إدراجها كمتطلبات.

في منتصف الطريق في المتداول الخاص بي أدركت أنني ربما أعاني بعض Nih. متلازمة.
نظرا لأنني لا أحب حقا مدى حدوث حدوث إطار المستخدم الحالي في ASP.NET، فمن الأفضل في الغالب فقط جميع الأشياء الأكثر تعقيدا فيما يتعلق بالأمان الذي يعطيني الآن بعض الشكوك. هل سيكون من الواضح أن تستمر ولف خاصتي؟ إذا لم يكن الأمر كذلك، فهل تذهب حول الوفاء بكل المتطلبات المذكورة أعلاه مع الإطار الحالي IPRINCIPLE الحالي؟

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

المحلول

يبدو لي مثل ما تريد القيام به هو لف مزود عضوية .NET مخصص الخاص بك.

سوف يسمح لك باستخدام مصادقة ASP.NET المدمجة/تفويض ينسبس في إجراءات التحكم الخاصة بك أثناء إعطائك التحكم الكامل في التنفيذ داخل المزود (والذي سيسمح لك بترميزه لتلبية المتطلبات المذكورة أعلاه).

مباشرة من MSDN ...

تنفيذ مزود العضوية

نصائح أخرى

أعتقد أنك تتعرف على المكان الذي توجد فيه الأجزاء الرفيعة في نظرك: وهي في تلك التي قمت بتضمين كيفية القيام بما تفعله كدافع في السبب في أنك تفعل ذلك و NIH (مضحك: لم أر ذلك من قبل ) مشكلة.

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

كما ذكر DOK، كن حذرا أنك لا تدحرجك هنا لتجنب مهمة أكبر في متناول اليد في مهما كانت وظائفك الأخرى. لا تدع هذا هو الهاء: يجب أن يكون شيئا يحتاج طلبك حقا. إذا لم يكن الأمر كذلك، فأنا أميل نحو التركيز على المهمة الأساسية للبرمجيات بدلا من ذلك.

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

otoh، قضاء بعض الوقت في تطوير الوظائف المتاحة بسهولة بالفعل يعني أنك لن تنفق ذلك الوقت في العمل على الوظائف الرئيسية لمشروعك. ما لم تكن المصادقة والترخيص مكونا رئيسيا في مشروعك، فقد تفكر في استثمار وقتك وتوسيع معرفتك، في منطقة أخرى.

أنا أيضا أعمل على مشروع حيوانات أليفة باستخدام ASP.NET MVC و DB4O وفعل نفس الشيء، لذلك أنت على الأقل ليس بمفرده في النزول في هذا الطريق :). واحدة من أكبر الأسباب بالنسبة لي لبدء التشغيل مع DB4O كطبقة الثبات هي أن إذن بشكل خاص على المستوى الميداني (أي يسمح لي برؤية اسم الشخص الأول، لكن الاسم الأول ليس الشخص الأول) هو تحقيقه إذا كنت اضطر إلى بيانات SQL المعقدة ونموذج مجال الفقر الدم.

نظرا لأنني كان لدي احتياجات تفويض معقدة تحتاج إلى استمرار (ومزامنة) في كل من مؤشرات DB4O و Solr التي بدأت العمل عليها في طرح بلدي، ولكن فقط لأنني كنت أعرف الجبهة كانت واحدة من السمات الرئيسية لمشروع الحيوانات الأليفة التي أنا مطلوب التحكم بنسبة 100٪.

الآن ربما لا يزال استخدم مزود عضوية .NET للمصادقة ولكن ليس (فقط) للحصول على تفويض الكائنات ولكن فقط بعد أن أسفر عن احتياجات ترخيصي باستخدام بلدي.

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