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

احراز هویت کاربر (User Authentication)

در این فصل، نحوه پیاده‌سازی احراز هویت کاربر (User Authentication) را بررسی می‌کنیم. این شامل ثبت‌نام (Sign Up)، ورود (Login)، خروج (Logout) و مجوزدهی (Authorization) می‌شود.

در این فصل خواهیم آموخت:

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

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

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

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

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

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

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

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

واژه‌نامه اصطلاحات فنی

اصطلاح فارسی معادل انگلیسی توضیح
احراز هویت کاربر User Authentication فرآیند تأیید هویت کاربران
ثبت‌نام Sign Up ایجاد حساب کاربری جدید
ورود Login دسترسی به حساب کاربری
خروج Logout پایان دادن به نشست کاربری
مجوزدهی Authorization کنترل دسترسی کاربران
مدل کاربر User Model ساختار داده کاربر
رمزنگاری رمز عبور Password Encryption کدگذاری رمز عبور
ذخیره‌سازی امن Secure Storage نگهداری ایمن اطلاعات
فرآیند ثبت‌نام Sign Up Process مراحل ایجاد حساب کاربری
حملات CSRF CSRF Attacks حملات جعل درخواست بین‌سایتی