كيفية تحديث azman الوصول تحقق من ذاكرة التخزين المؤقت؟

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

سؤال

لقد قمت بإنشاء تطبيق ويب يستخدم Microsoft Azman، ويعمل على ما يرام حتى يكون لديك عدة مستخدمين. أنا تقريبا 100٪ بعض أزمان تخزلق نفس الأشياء للمستخدمين المتعددين.

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

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

ما يلي هو الرمز الدقيق الذي أستخدمه لإنشاء السياق. التطبيق هو متغير iAzapplication2، و ClientContext.SID هو أمنية للمستخدم المعني.

IAzClientContext2 cctx = app.InitializeClientContext2("AppNameHere", null);
cctx.AddStringSids(new object[] { (object)ClientContext.SID.ToString() } as object);

تحرير: أنا لا أستخدم موفر دور ASP.NET على الإطلاق لأن ذلك سيتطلب من التطبيق أن يكون على دراية بالأدوار. أنا فقط باستخدام API COM.

تحرير 2: أيضا، إذا قام المستخدم B بتسجيل الدخول أولا، فلن يكون لدى المستخدم A الوصول إلى الوصول إليه عند تسجيل الدخول. لذلك ليس فقط الحفاظ على أعلى مستوى من الوصول.

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

المحلول

فكرت في حذف هذا السؤال، لكنني أرى أنه من الأفضل أن أترك الأمر هنا لربما ساعد شخصا آخر مع خطأ غبي. Azman ليس التخزين المؤقت الوصول إلى النتائج عبر المستخدمين المتعددين. طريقة AddStringsIDs ليست مشكلة. كانت المشكلة في التعليمات البرمجية الخاصة بي.

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

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

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