آموزش حساب ها در Meteor

3 سال پیش
آموزش حساب ها در Meteor

آموزش حساب ها در Meteor

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

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

C:\Users\username\Desktop\meteorApp>meteor add accounts-password

 

مثال احراز هویت

این مثال احراز هویت اولیه را نشان می دهد. ما الگوهای ثبت نام ، ورود به سیستم و خانه ایجاد خواهیم کرد. اگر یک کاربر فعلی وجود داشته باشد (اگر کاربر با موفقیت ثبت نام کرده یا وارد سیستم شده باشد) ، الگوی صفحه اصلی نشان داده می شود. اگر هیچ currentUser وجود نداشته باشد، الگوهای ثبت نام و ورود به سیستم قابل مشاهده است.

meteorApp.html

<head>
   <title>meteorApp</title>
</head>
 
<body>
   {{#if currentUser}}
      {{> home}}
      {{else}}
      {{> register}}
      {{> login}}
   {{/if}}
</body>

<template name = "register">
   <h2>REGISTER:</h2>
   <form>
      <input type = "email" name = "registerEmail"><br>
      <input type = "password" name = "registerPassword"><br>
      <input type = "submit" value = "Register"><br>
   </form>
</template>

<template name = "login">
   <h2>LOGIN:</h2>
   <form>
      <input type = "email" name = "loginEmail"><br>
      <input type = "password" name="loginPassword"><br>
      <input type = "submit" value = "Login"><br>
   </form>
</template>

<template name = "home">
   <p>You're logged in.</p>
   <button class = "logout">Logout</button>
</template>

 

ابتدا باید یک رویداد ثبت نام کنیم. این عملکرد ورودی های ثبت شده را خوانده ، یک کاربر جدید ایجاد می کند و آن را در پایگاه داده ذخیره می کند.

رویداد دوم ورود به سیستم است. این بار این تابع ورودی های الگوی ورود را می خواند ، اگر ایمیل و رمز عبور معتبر هستند ، وارد سیستم شوید یا اگر اینگونه نیست خطایی را برمی گرداند.

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

meteorApp.js

if (Meteor.isClient) {

   Template.register.events({
      'submit form': function(event) {
         event.preventDefault();

         var registerData = {
            email: event.target.registerEmail.value,
            password: event.target.registerPassword.value
         }

         Accounts.createUser(registerData, function(error) {
         
            if (Meteor.user()) {
               console.log(Meteor.userId());
            } else {
               console.log("ERROR: " + error.reason);
            }
         });
      }
   });

   Template.login.events({
   
      'submit form': function(event) {
         event.preventDefault();
         var myEmail = event.target.loginEmail.value;
         var myPassword = event.target.loginPassword.value;
            
         Meteor.loginWithPassword(myEmail, myPassword, function(error) {

            if (Meteor.user()) {
               console.log(Meteor.userId());
            } else {
               console.log("ERROR: " + error.reason);
            }
         });
      }
   });

   Template.home.events({

      'click .logout': function(event) {
         event.preventDefault();
            
         Meteor.logout(function(error) {

            if(error) {
               console.log("ERROR: " + error.reason);
            }
         });
      }
   });
}

 

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

Meteor Accounts Start

با وارد کردن ایمیل و رمز عبور در فرم ثبت نام ، می توانیم کاربر جدید را ثبت نام و وارد سیستم کنیم. خواهیم دید که این کنسول شناسه کاربران را ثبت می کند و الگوی خانه ارائه می شود.

Meteor Accounts Register

در صورت صحیح بودن ایمیل و گذرواژه ، رویداد ورود به سیستم پایگاه داده را بررسی کرده و وارد کاربر خواهد شد. در غیر این صورت ، کنسول خطایی را ثبت می کند.

Meteor Accounts Login Error

اگر کاربر روی دکمه LOGOUT کلیک کند ، برنامه کاربر را از سیستم خارج کرده و الگوهای ثبت نام و ورود را نشان می دهد.

 

منبع.

 

لیست جلسات قبل آموزش 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
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه