سؤال

أنا مطور C#. أقوم بتطوير كل من تطبيقات Windows & Web. أرغب في إنشاء تطبيق WinForms له نظام قائم على الدور. يجب على جميع المستخدمين في الدور/المجموعة (المجموعات). ثم نقوم بتعيين أذونات مثل "عرض ، إضافة ، تحديث ، .." إلى الدور/المجموعة. الدور/المجموعة ديناميكية ، لذلك نسمح للمستخدمين بتحديده.

هل هناك أي أطر وعينات جيدة لتنفيذها؟

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

المحلول

عادةً ما أقوم بلفني ، نظرًا لأن إطار العمل .NET يتمتع بكامل إيجاده في هذا الصدد ، لكنك قد تجرب ترخيص MS وكتلة تطبيق الملف الشخصي.

نصائح أخرى

بالنسبة لتفاصيل تنفيذ Grungy ، هل نظرت إلى "مديري المدارس"؟ انظر ردي هنا. مع هذا النهج ، يمكنك استخدام الأمان القائم على الأدوار في الكود - مثل:

    [PrincipalPermission(SecurityAction.Demand, Role="ADMIN")]
    static void SomeMethod()
    {...}

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

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

إذا كنت من ذوي الخبرة في ASP.NET بالفعل ، فمن المحتمل أن تكون على دراية بنظام ASP.NET لعضوية / دور / ملف تعريف ، مع مقدمي الخدمات الافتراضية والقدرة على إضافة المزيد من المتاعب.

ألن يكون الأمر رائعًا إذا تمكنت من استخدام كل ذلك من داخل نماذج Windows أو تطبيقات WPF؟ نعم؟ حسنا ثم إلقاء نظرة على خدمات التطبيق ASP.NET! يمكنك ببساطة إعداد موقع ويب لتوفير عنوان URL للمصادقة ثم أخبر تطبيقك باستخدام ذلك. يمكنك إنشاء نافذة تسجيل الدخول المخصصة الخاصة بك ووجود خدمات التطبيق تفتحه عند الحاجة ، أو استخدام المنطق الخاص بك واستدعاء الأساليب بنفسك.

يحظى بدعم كامل لـ "الوضع غير المتصلة" حيث يقوم بتخزين تجزئة كلمة المرور للمقارنة ، ويمكنه أيضًا ذاكرة التخزين المؤقت للأدوار ويسمح لك باستخدام إعدادات الملف الشخصي.

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