سؤال

نحن بحاجة إلى استبدال نظام القائمة في تطبيق ASP.NET الرئيسي لدينا.لذلك من الطبيعي أن ننظر إلى ASP.NET SiteMapProvider و Menu ضوابط.ومع ذلك، نحتاج أيضًا إلى قدر كافٍ من الأمان لمنع المستخدمين من إدخال عناوين URL مباشرةً التي لا ينبغي لهم الوصول إليها.يمكننا القيام بذلك عن طريق وضع <location> الإدخالات في web.config وتأمينها بشكل فردي ولكن هذا سيكون بمثابة بيتا لإدارتها عبر خوادم ويب متعددة.

هل يوجد Provider التي يمكن استخدامها لتوفير ما يعادل <location> إدخالات؟لم أتمكن من العثور على واحد، وهو أمر محبط قليلاً نظراً لوجود موقع التكوين فصل.

وبدلاً من ذلك، هل يوجد خيار تكوين نفتقده في SiteMapProvider والذي سيمنع المستخدمين من الوصول إلى عناوين URL التي لا ينبغي عليهم الوصول إليها؟

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

المحلول

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

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