سؤال

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

لتوضيح IM القيام ب AOP حيث يسمح لي فقط بالوصول إلى إجراء معين إذا كان لدى المستخدم حقوقا لهذا الإجراء.

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

أيه أفكار؟؟

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

المحلول

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

لدي بضعة سمات مختلفة اشتقت منها من المؤلفات التي تفعل هذا النوع من الأشياء بالضبط.

 public class RequiresEmailAttribute : AuthorizeAttribute
 {
      ... implements the logic to test whether the current user
      ... has an email address and redirects to error view if no
      ... email address is found
 }

 [RequiresEmail]
 public ActionResult SendEmail( string to )
 {
    ....
 }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top