آموزش انتشار و اشتراک در Meteor

3 سال پیش
آموزش انتشار و اشتراک در Meteor

آموزش انتشار و اشتراک در Meteor

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش انتشار و اشتراک در Meteor خواهیم پرداخت.

همانطور که قبلاً در درس مجموعه ها بحث شد، تمام داده های ما از طرف مشتری در دسترس است. این یک مسئله امنیتی است که می تواند با روش های انتشار و اشتراک حل شود.

 

حذف انتشار خودکار

در این مثال، ما از مجموعه PlayersCollection با داده های زیر استفاده خواهیم کرد. ما قبلاً این مجموعه را آماده کردیم تا بتوانیم روی فصل خود تمرکز کنیم. اگر مطمئن نیستید که چگونه می توانید مجموعه های MongoDB را در برنامه شهاب سنگ ایجاد کنید ، فصل مجموعه های ما را بررسی کنید.

Meteor Publish and Subscribe Database Data

 

برای ایمن سازی داده های خود ، باید بسته انتشار خودکار را که به ما امکان می داد از داده های سمت مشتری استفاده کنیم حذف کنیم.

C:\Users\username\Desktop\meteorApp>meteor remove autopublish

 

پس از این مرحله، ما نمی توانیم داده های پایگاه داده را از سمت مشتری دریافت کنیم. فقط می توانیم آن را از سمت سرور در پنجره خط فرمان ببینیم. کد زیر را پرداخت کنید –

 

meteorApp.js

var PlayersCollection = new Mongo.Collection('playersCollection');
var myLog = PlayersCollection.find().fetch();
console.log(myLog);

 

پنجره خط فرمان کل مجموعه را با چهار شی نشان می دهد ، در حالی که کنسول توسعه دهندگان یک آرایه خالی را نشان می دهد. اکنون برنامه ما از امنیت بیشتری برخوردار است.

Meteor Publish and Subscribe Autopublish Removed

استفاده از انتشار و اشتراک

بیایید بگوییم ما می خواهیم به مشتریان اجازه دهیم از داده های ما استفاده کنند. برای این منظور ، باید روش ()Meteor.publish را در سرور ایجاد کنیم. این روش داده ها را برای مشتری ارسال می کند.

برای اینکه بتوانیم این داده ها را در سمت مشتری دریافت و استفاده کنیم ، روش ()Meteor.subscribe را ایجاد خواهیم کرد. در پایان مثال ، ما در حال جستجو در پایگاه داده هستیم. این کد هم در سمت سرویس گیرنده و هم در سمت سرور در حال اجرا است.

var PlayersCollection = new Mongo.Collection('playersCollection');

if(Meteor.isServer) {

   Meteor.publish('allowedData', function() {
      return PlayersCollection.find();
   })
}

if (Meteor.isClient) {
   Meteor.subscribe('allowedData');
};

Meteor.setTimeout(function() {
   var myLog = PlayersCollection.find().fetch();
   console.log(myLog);
}, ۱۰۰۰);

 

می توانیم ببینیم که داده های ما هم در کنسول توسعه دهندگان و هم در پنجره خط فرمان وارد شده است.

Meteor Publish and Subscribe Allowed All

فیلتر کردن داده های مشتری

همچنین می توانیم بخشی از داده ها را منتشر کنیم. در این مثال ، ما داده هایی را با name = “John” منتشر می کنیم.

var PlayersCollection = new Mongo.Collection('playersCollection');

if(Meteor.isServer) {

   Meteor.publish('allowedData', function() {
      return PlayersCollection.find({name: "John"});
   })
}

if (Meteor.isClient) {
   Meteor.subscribe('allowedData');
};

Meteor.setTimeout(function() {
   myLog = PlayersCollection.find().fetch();
   console.log(myLog);
}, ۱۰۰۰);

 

پس از اجرای این کد، خط فرمان تمام داده ها را ثبت می کند ، در حالی که کنسول سمت مشتری فقط دو شی با نام John را وارد می کند.

 

Meteor Publish and Subscribe Allowed All

 

منبع.

 

لیست جلسات قبل آموزش Meteor

  1. آموزش Meteor
  2. معرفی Meteor
  3. آموزش تنظیمات محیط Meteor
  4. آموزش اولین برنامه Meteor
  5. آموزش الگوها در Meteor
  6. آموزش مجموعه ها در Meteor
  7. آموزش  فرم ها در Meteor
  8. آموزش رویداد ها در Meteor
  9. آموزش جلسه در Meteor
  10. آموزش ردیاب در Meteor
  11. آموزش بسته ها در Meteor
  12. آموزش هسته API در Meteor
  13. آموزش روش چک در Meteor
  14. آموزش بسته Blaze در Meteor
  15. آموزش تایمر در Meteor
  16. آموزش EJSON در Meteor
  17. آموزش HTTP در Meteor
  18. آموزش ایمیل در Meteor
  19. آموزش Assets در Meteor
  20. آموزش امنیت در Meteor
  21. آموزش مرتب سازی در Meteor
  22. آموزش حساب ها در Meteor
  23. آموزش متد ها در Meteor
  24. آموزش Package.js در Meteor
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه