سؤال

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

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

المحلول

يستخدم UMBRACO طراز موفر عضو / دور ASP.NET لنظام عضوية IT في نظام العضوية، وهي خطوة واضحة للغاية لتغيير حجمها الافتراضي لتنفيذك. لقد قمت بذلك في الماضي حيث أردت مصادقة الأعضاء مقابل متجر Active Directory لكنني لا أستطيع أن أتخيل أنه أصعب بكثير للمصادقة ضد قاعدة بيانات مخصصة.

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

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

للمصادقة ضد مزود دور مخصص، ستحتاج إلى إنشاء فئة مشتقة من دوراة. وبعد الطرق التي ستكون مهتما بها isuserinrole., findusersinrole., getallroles. و getrolesoruser..

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

نصائح أخرى

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

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

النهج الثاني - الذي هو الشخص الذي أؤيد الآن - إذا قمت بإنشاء ماكرو أذونات مسؤولة عن التحقق من حق المستخدم للوصول إلى أي صفحة (أي الشيكات لسمة Umbracombersonly، وإذا صحيح، يتحقق من متغير جلسة). يتم تضمين هذه الماكرو في القالب الرئيسي، وينفذ ذلك في كل قالب. إذا لم يكن لدى المستخدم إذنا بالوصول إلى الصفحة الحالية، فأنا أعيد توجيه إلى نفس الصفحة ولكن مع ALTTEMPLATE = المقيدة أو مماثلة إلحاحا بسلسلة الاستعلام. (تأكد من أن أذوناتك الشيكات الكلية الخاصة بك للحصول على alttemplate = تقييدها في سلسلة الاستعلام، أو سوف ينتهي بك الأمر في حلقة لا حصر لها من إعادة توجيهات.)

يمكنك الخروج http://osmembercontrols.codeplex.com.

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