Let's Go › احراز هویت کاربر
قبلی · فهرست · بعدی
فصل ۱۰.

احراز هویت کاربر

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

گردش کار به این صورت خواهد بود:

  1. یک کاربر با مراجعه به یک فرم در /user/signup و وارد کردن نام، آدرس ایمیل و رمز عبور خود ثبت‌نام می‌کند. این اطلاعات را در یک جدول پایگاه داده جدید users ذخیره می‌کنیم (که در لحظه‌ای آن را ایجاد خواهیم کرد).

  2. یک کاربر با مراجعه به یک فرم در /user/login و وارد کردن آدرس ایمیل و رمز عبور خود لاگین می‌کند.

  3. سپس پایگاه داده را بررسی می‌کنیم تا ببینیم آیا ایمیل و رمز عبوری که وارد کرده‌اند با یکی از کاربران در جدول users مطابقت دارد یا نه. اگر مطابقت وجود داشته باشد، کاربر با موفقیت احراز هویت شده است و مقدار id مربوط به کاربر را با استفاده از کلید "authenticatedUserID" به داده‌های نشست آن‌ها اضافه می‌کنیم.

  4. وقتی هر درخواست بعدی را دریافت می‌کنیم، می‌توانیم داده‌های نشست کاربر را برای مقدار "authenticatedUserID" بررسی کنیم. اگر وجود داشته باشد، می‌دانیم که کاربر قبلاً با موفقیت لاگین کرده است. می‌توانیم این بررسی را تا زمانی که نشست منقضی شود ادامه دهیم، که در آن زمان کاربر باید دوباره لاگین کند. اگر "authenticatedUserID" در نشست وجود نداشته باشد، می‌دانیم که کاربر لاگین نشده است.

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

یاد خواهید گرفت: