سؤال

أنا أستخدم مواصفات wamp.ws لتصميم غرف الدردشة العامة/الخاصة على موقع الويب الخاص بي.

تأتي مشكلتي عندما أحاول الاحتفاظ بقائمة بجميع المستخدمين المتصلين. ما يمكنني فعله:

  1. يشترك جميع المستخدمين في موضوع "/جهات الاتصال/الاتصالات".
  2. عندما يقوم المستخدم بتوصيل ، ينشر رسالة "Hello" مع وسيطة "user_id" ، ويخبر المستخدمين الآخرين أنه متصل.

-> ولكن كيف يمكنني الوثوق بالمستخدمين؟ يمكن لأي مستخدم إرسال رسالة "Hello" مع وسيطة عشوائية "user_id".

بالنسبة لي ، يتعين على الخادم إجراء بعض الشيكات قبل بث الرسالة. ولكن هل هو وفقًا لمواصفات Wamp.JS؟ لقد قرأت أن رسالة منشورة يتم بثها دائمًا بواسطة الخادم.

يمكن أن يكون هناك حل آخر هو استخدام استدعاء RPC لتوصيل المستخدم. في الواقع ، لقد فعلت ذلك لمصادقة المستخدمين. ولكن هل يمكن أن يقوم الخادم ببث حدث إلى موضوع "/جهات الاتصال/الاتصالات" في حد ذاته؟ (بعد مكالمة RPC ، وليس بعد رسالة "Publish") ، قرأت أن هذا الحدث ليس سوى النتيجة المباشرة لـ "نشر" من العميل. علاوة على ذلك ، فإن هذا لن يمنع المستخدمين العاديين من إرسال موضوع "/اتصالات/اتصالات" حدث ، والذي سيتم بثه بواسطة الخادم.

أشعر أن حليتي (التحقق من الرسائل المنشورة قبل البث ، أو بث حدث بواسطة الخادم بعد مكالمة RPC) كلا من مواصفات Wamp.js. هل أنا مخطئ؟

شكرًا لك

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

المحلول

يميز WAMP بين

  1. المصادقة
  2. تفويض
  3. تصديق

المصادقة يحدد هوية عميل WAMP في جهاز توجيه WAMP.

عند استخدام Autobahn | بيثون للف جهاز توجيه WAMP الخاص بك ، هنا هي أمثلة متعددة توضح كيفية تنفيذ آليات المصادقة المختلفة.

عند استخدام العارضة (جهاز توجيه WAMP جاهز للإنتاج) ، يتم تصميم آليات المصادقة (هنا).


تفويض يحدد ما إذا كان يُسمح لعميل WAMP معين بأداء إجراء WAMP (مثل النشر أو الاتصال) على URI معين.

عند استخدام Autobahn | بيثون للف جهاز توجيه WAMP الخاص بك ، هنا هو مثال يوضح كيفية تنفيذ التفويض المخصص.

يحتوي CrinsBar.io على نظام ترخيص ثابت مبني بالإضافة إلى يسمح بتسجيل إجراءات WAMP المخصصة للترخيص (هنا).


أخيرًا ، هناك تصديق, ، الذي يتحقق من حمولة مستوى التطبيق للأحداث أو المكالمات.

هنا هو مثال على Autobahn | Python. سيسمح Cartebar.io قريبًا بتسجيل إجراءات WAMP المخصصة للتحقق من الصحة.


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