پرووید
منو

آموزش امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 02:34:15تعداد ویدئوها: 59فایل های پروژه: ناموجود
قیمت:۳٬۴۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش پیشرفته ASP.NET Core است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش ایجاد امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی ASP.NET Core Identity عمیق است که با نام اصلی ASP.NET Core Identity Deep Dive از شرکت Pluralsight منتشر شده است.

معماری ASP.NET Core Identity

به بیان ساده ASP.NET Core Identity یک سیستم عضویت و یا membership است که مکانیزم های از قبیل user registration و login را به اپلیکیشن های web UI توسعه داده شده با ASP.NET Core اضافه می‌کند. این سیستم membership هم authentication و هم authorization را پشتیبانی می نماید. منظور از authentication بررسی کردن هویت کاربر و authorization مجوزهای مربوط به کاربر مورد نظر می باشد. بنابراین authentication یک پیش نیاز و یا ضرورت برای authorization است.

علاوه بر پشتیبانی کردن از ایجاد نمودن حساب های کاربری local با استفاده از ASP.NET Core Identity می توانید از login provider های external از قبیل فیسبوک و توئیتر نیز استفاده کنید. در این سیستم user session ها با استفاده از مکانیزم cookie-based authentication ذخیره سازی می شوند. به طور پیش فرض یک کوکی در زمان loginکردن ایجاد و در زمان log out کردن از بین می رود. داده های membership با استفاده از یک data store ذخیره سازی شده و با استفاده از یک تکنولوژی data access مورد استفاده قرار می ‌گیرند. تکنولوژی data accessپیش فرض یک ORM به نام Entity Framework Core می باشد. علاوه بر این data store پیش فرض نیز SQL server است.

Structure and Architecture of ASP.NET Core Identity - نمونه ای از بخش Implementing the Nuts and Bolts of ASP.NET Core Identity در آموزش امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity
نمونه ای از بخش «Implementing the Nuts and Bolts of ASP.NET Core Identity» در آموزش امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity

جزییات مربوط به ارتباط برقرار کردن با دیتابیس استفاده شده توسط EF Core از دید ما مخفی و یا اصطلاحاً abstract می‌ گردد بنابراین EF Core به صورت معمول استفاده کردن از database provider ها را در کنار Identity فراهم می نماید. database provider های مختلفی برای SQL server و SQLite و دیگر data store ها در دسترس هستند. علاوه بر این موضوع، ASP.NET Core Identity انعطاف پذیری کامل برای استفاده کردن از یک تکنولوژی data access را در اختیار برنامه نویس قرار می دهد. استفاده نمودن از Dapper نیز به عنوان یک جایگزین برای EF Core امکان پذیر است.

ضمناً، EF Core از یک قابلیت به نام migration پشتیبانی می کند تا با استفاده از آن بتوانید به صورت افزایشی database schema را به روز رسانی کرده و آن را با دیتا مدل مربوط به اپلیکیشن همگام و یا sync نمایید. بعد از اعمال کردن migration ابتدایی در EF Core جدول های مربوط به دیتابیس مورد نظر ایجاد می شوند. این جدول ها می توانند به منظور استفاده کردن از سیستم membership موجود در ASP.NET Core مورد استفاده قرار بگیرند.

پیاده‌سازی مدیریت کاربران با ASP.NET Core Identity

ASP.NET Core Identity امکاناتی برای مدیریت حساب‌های کاربری در اپلیکیشن‌های مبتنی بر ASP.NET Core فراهم می‌کند. این سیستم قابلیت‌هایی مانند ثبت‌نام، ورود و مدیریت اطلاعات حساب را در اختیار توسعه‌دهندگان قرار می‌دهد و می‌تواند با Entity Framework Core برای نگهداری اطلاعات کاربران یکپارچه شود. هنگام پیاده‌سازی Identity، شناخت اجزای اصلی و نحوه ارتباط آن‌ها اهمیت زیادی دارد؛ زیرا تصمیم‌های مربوط به ساختار داده‌ها و مدیریت حساب‌ها بر توسعه‌پذیری و امنیت بخش هویت اپلیکیشن تأثیر می‌گذارند.

در پروژه‌های واقعی، امکانات پیش‌فرض Identity ممکن است برای همه نیازهای برنامه کافی نباشند. گاهی لازم است مدل‌های داده توسعه پیدا کنند یا فرایند مدیریت کاربران با نیازهای خاص پروژه هماهنگ شود. در چنین شرایطی، آشنایی با نحوه گسترش Entity Framework و مدیریت ایمن حساب‌ها اهمیت پیدا می‌کند. این آموزش پیشرفته به بررسی جنبه‌های عمیق‌تر ASP.NET Core Identity می‌پردازد تا بتوانید ساختار مدیریت کاربران را بهتر بشناسید و هنگام توسعه اپلیکیشن، تصمیم‌های فنی دقیق‌تری بگیرید.

Password Hashing و محافظت از رمز عبور کاربران

رمزهای عبور از حساس‌ترین اطلاعات کاربران هستند و نحوه نگهداری آن‌ها نقش مهمی در امنیت اپلیکیشن دارد. به جای ذخیره رمز عبور به شکل متن ساده، سیستم‌های احراز هویت از روش‌های Password Hashing استفاده می‌کنند تا مقدار ذخیره‌شده مستقیماً قابل تبدیل به رمز اصلی نباشد. در ASP.NET Core Identity، سازوکارهای مرتبط با رمز عبور بخشی از امکانات مدیریت حساب کاربران را تشکیل می‌دهند. شناخت این سازوکارها به توسعه‌دهندگان کمک می‌کند از پیاده‌سازی روش‌های ناامن برای نگهداری اطلاعات ورود جلوگیری کنند.

ASP.NET Core Identity and Password Hashing - نمونه ای از بخش Protection in the Case of a Breach- Password Hashing and Revocation در آموزش امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity
نمونه ای از بخش «Protection in the Case of a Breach- Password Hashing and Revocation» در آموزش امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity

امنیت رمز عبور تنها به Hash کردن آن محدود نیست و مدیریت تغییرات حساب، ابطال اعتبار اطلاعات احراز هویت و کنترل دسترسی نیز اهمیت دارند. برای مثال، در برخی شرایط لازم است اعتبار یک نشست یا اطلاعاتی که برای ورود کاربر استفاده می‌شود، دیگر پذیرفته نشود. در این آموزش، محافظت از رمزهای عبور با Password Hashing و موضوع Revocation بررسی می‌شود تا با بخشی از ملاحظات امنیتی مدیریت حساب‌ها آشنا شوید و نقش این قابلیت‌ها را در طراحی یک سیستم هویت امن‌تر درک کنید.

احراز هویت چندعاملی و اتصال به حساب‌های خارجی

Multi-factor Authentication روشی برای تقویت امنیت ورود کاربران است که به بیش از یک عامل احراز هویت متکی است. این روش می‌تواند در برابر برخی حملات مبتنی بر سرقت رمز عبور، یک لایه امنیتی اضافه ایجاد کند. پیاده‌سازی صحیح آن نیازمند توجه به نحوه ثبت و اعتبارسنجی عوامل احراز هویت و مدیریت فرایند ورود است. در ASP.NET Core Identity، آشنایی با امکانات مرتبط با احراز هویت چندعاملی به توسعه‌دهندگان کمک می‌کند فرایند ورود کاربران را متناسب با نیازهای امنیتی اپلیکیشن طراحی کنند.

علاوه بر مدیریت حساب‌های محلی، بسیاری از اپلیکیشن‌ها به قابلیت استفاده از حساب‌های خارجی نیاز دارند. این قابلیت به کاربران اجازه می‌دهد از طریق یک ارائه‌دهنده هویت دیگر وارد برنامه شوند و فرایند احراز هویت در تعامل با آن سرویس انجام شود. یکپارچه‌سازی حساب‌های خارجی باید با توجه به تنظیمات امنیتی و نحوه اعتماد به ارائه‌دهنده هویت صورت بگیرد. در این آموزش، مباحث مربوط به Multi-factor Authentication و External Accountها بررسی می‌شوند تا دید روشن‌تری درباره گسترش قابلیت‌های مدیریت هویت در ASP.NET Core Identity به دست آورید.

سرفصل مطالب آموزش ویدئویی ایجاد امنیت در وب اپلیکیشن ها با استفاده از ASP.NET Core Identity

فصل اول: مقدمه دوره آموزشی
  • مقدمه دوره آموزشی
فصل دوم: بررسی Identity آنچه که بایست بدانیم و آنچه که باید از آن اجتناب کنید
  • مقدمه
  • فریم ASP.NET Core Identity چیست؟
  • چه چیزی به عنوان Identity Data شناخته می شود؟
  • بررسی مفهوم Role ها
  • بررسی تعاریف شفاف کننده
  • بررسی اپلیکیشن مربوط به این دوره آموزشی
  • جمع بندی
فصل دوم: پیاده سازی مباحث اولیه در ASP.NET Core Identity
  • مقدمه
  • بررسی ساختار و معماری ASP.NET Core Identity
  • معرفی UserManager و RoleManager
  • بررسی IUserStore
  • پیاده سازی عملی ASP.NET Core Identity از ابتدا
  • پیاده سازی مبحث User Registration
  • پیاده سازی Authentication با استفاده از ASP.NET Core و ASP.NET Core Identity
  • انجام Mocking برای UserManager
  • جمع بندی
فصل سوم: پیاده سازی و گسترش Entity Framework 
  • مقدمه
  • بررسی Entity های پیش فرض Identity
  • ساده کردن User Store ها با استفاده از IdentityUser و UserStoreBase
  • حذف کردن کد های برنامه نویس با استفاده از Entity Framework
  • پیاده سازی Store های پیش فرض در Entity Framework
  • چه موقع IdentityUser را گسترش دهیم
  • گسترش دادن IdentityUser به صورت عملی
  • جمع بندی
فصل چهارم: پیاده سازی مدیریت کاربران به صورت ایمن
  • مقدمه
  • ساده کردن Authentication با استفاده از ASP.NET Core Helper ها
  • کاهش دادن Boilerplate با استفاده از SignInManager
  • مباحث اولیه در Password Reset
  • قابلیت های ASP.NET Core Identity در Password Reset
  • پیاده سازی عملی Password Reset
  • بررسی Email Confirmation
  • بررسی عملی پیاده سازی Email Confirmation با استفاده از Token Provider های سفارشی
  • به روز رسانی کردن پسورد و یک نکته مهم در ارتباط با Token ها
  • جمع بندی
فصل پنجم: محافظت از پسورد ها با استفاده از Password Hashing و Revocation
  • مقدمه
  • بررسی اولیه Password Hashing
  • ارتباط بین ASP.NET Core Identity و Password Hashing
  • انجام Validation بر روی password ها با استفاده از Password policy ها
  • ایجاد کردن User Data Policy های تصادفی
  • پیکر بندی کردن Validation و ایجاد کردن Custom Validator ها
  • بررسی User Lockout و موضوعات مرتبط
  • پیاده سازی کردن User Friendly Lockout ها
  • استفاده کردن از  SecurityStampValidator ها و کاربرد آن ها
  • جمع بندی
فصل ششم: پیاده سازی Multi-factor Authentication واقعی 
  • مقدمه
  • بررسی ابتدایی Multi-factor Authentication
  • کاربرد ASP.NET Core Identity و Multi-factor Authentication
  • پیاده سازی عملی Two-step Verification با استفاده از ایمیل
  • چه موقع از Multi-factor Authentication استفاده کنیم
  • پیاده سازی عملی Multi-factor Authentication با استفاده از Authenticator Device
  • بررسی Two-factor Remember Me
  • بررسی Two-factor Device Recovery
  • جمع بندی
فصل هفتم: کار کردن با External Account ها 
  • مقدمه
  • بررسی External Authentication و ASP.NET Core Identity
  • پیاده سازی عملی External Authentication و استراترژی های آن
  • یک روش بهتر و یک موضوع بسیار مهم در رابطه با مایگریت کردن
  • جمع بندی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.