آموزش ویدئویی کامل Authorization و Authentication در ASP.net Core همراه با JWT

به نام خدا. در این آموزش ویدئویی قصد دارم تمام روش های احراز هویت و تعیین دسترسی یا همان Authorization و Authentication را خدمت شما آموزش بدهم. در این آموزش با ایجاد یک پروژه ی کامل ASP.net Core WebAPI با JWT به بررسی روش های Authorization خواهیم پرداخت.

سرفصل های این آموزش ویدئویی که به صورت رایگان در اختیار شما قرار می گیرد و مدت آن بیش از 2 ساعت است عبارتند از:

1- ایجاد یک پروژه ی ASP.net Core WebAPI کامل با JWT

2- آموزش افزودن Swagger به پروژه

3- آموزش ایجاد Extentionها، نحوه استفاده از فایل تنظیمات و…

4- آموزش روش های مختلف مدیریت دسترسی یا Authorization: روش مبتنی بر نقش یا Role based، روش مبتنی بر دارای(ادعا) یا Claim based، روش مبتنی بر دسترسی یا Permission based و روش مبتنی بر نقش-دسترسی یا Role to Permission base

کدهای این پروژه را می توانید از آدرس زیر دانلود و استفاده کنید:

کدهای این آموزش در آدرس زیر قابل مشاهده و دانلود است
https://github.com/MohammadMoeinFazeli/ASP.NetCore-AllAuthorizationMethods

همچنین برای دانلود ویدئوی زیر نیز می توانید از این لینک استفاده کنید یا روی آیکون سه نقطه در قسمت پایین سمت راست ویدئو کلیک و سپس روی Download کلیک کنید.

امیدوارم این ویدئو برای شما مفید باشد.

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

موفق باشید. التماس دعا

13 دیدگاه برای “آموزش ویدئویی کامل Authorization و Authentication در ASP.net Core همراه با JWT

  1. سلام.ببخشید میدونم سوالم خیلی ساده است اما نمیدونم باید چکار کنم.
    الان من میخوام getalluser را توی api/users نشون بدم اما ما کفتیم باید authorize بشه. خب با استفاده از postman یا swagger این میشه اما بدون اینها چی یعنی چجوری http://localost/api/users/all را داده هاش را ببینیم؟
    چند روز دارم جستجو میکنم بدتر گیج شدم راهش چیه؟ بهم فقط بگید هم میرم اون قسمت را جستجو میکنم. تشکر

    1. با سلام. باید token مربوط به احراز هویت را در header درخواست خود (مثلا درخواست http://localost/api/users/all) به سمت سرور ارسال کنید. فیلد مخصوصی در header درخواست ها برای این کار وجود دارد به اسم authorization که باید درون آن token خود را قرار داده و به سمت سرور ارسال کنید. البته باید قبل از توکن مقدار bearer را نیز بنویسید. یعنی فیلد authorization در header تمام درخواست های شما که نیاز به احراز هویت دارند باید برابر bearer token باشد. (به جای token مقدار واقعی توکن را قرار دهید)

  2. سلام ممنونم از آموزش عالیتون من میخاستم policy Ip را بزارم اما چطور در AuthenticationExtention به Ip یوزر دسترسی داشته باشم؟

    1. با سلام و عرض ادب
      شما در هرجای برنامه و در هرکلاسی که بخواهید می توانید با inject کردن IHttpContextAccessor در سازنده آن کلاس به تمام Claimها کاربر دسترسی داشته باشید. مثلا در کد زیر بنده پس از inject کردن IHttpContextAccessor کلایم name را دریافت و در یک متغییر محلی ذخیره می کنم:

      1. public class UserService
        {
        private string userName;

        public UserService(HttpContextAccessor httpContextAccessor)
        {
        userName = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Name).Value;
        }
        }

  3. سلام خسته نباشید یه مشکل دارم که خیلی اذیت کرده خواهشا کمک کنید
    نوی پروژه من سطح دسترسی ها به صورت پویا هست و تعدادشون خیلی زیاده وقتی توکن را تولید میکنم یه حجم زیادی میشه باید چیکار کنم که سطح دسترسی ها را با توکن ارسال کنم
    پروژه ما back با .net Core و front با react

  4. سلام
    میخواستم ببینم وقتی یک کاربر لاگین کرد و یک توکن گرفت. اگر سطح درسترسیش (permission) تغییر کرد. باید چیکار کنیم؟آیا استفاده از JWT این موضوع را ساپورت میکنه؟

    1. با سلام. باید مجددا توکن جدیدی برای کاربر ایجاد کرد، چون اگر پرمیشن ها تغییر بکنند و توکن جدید به کاربر داده نشود، فقط به همون پرمیشن های قبلی دسترسی دارد…. در اینگونه موارد از یک سرویس برای ایجاد مجدد توکن و ارسال به سمت کاربر (مثلا front end) استفاده میشود

  5. سلام و خسته نباشید توضیحات خیلی خوب و جامعه بود لذت بردم که اول تصمیم دارم مثل شما یک پروژه استاتیک درست کنم وقتی کامل شد میبرم دانامیک میکنم و لینک پست شما رو داخل گروه گذاشتم که ادرس کانال این هستش https://t.me/DotNetZoom و داخل گروه قرار دادم و نظر سنجی هم قرار دادم خودم لذت بردم امیدوارم حسابی کار خیلی ها را بندازه و خدا خیرت بده بابت این آموزشی

  6. سلام و خسته نباشید بابت آموزشی خوبی تون تشکر میکنم. من با آموزشی شما پیش رفتم و یک نمونه سورس ایجاد کردم ولی دونه دونه پیش میرفتم و تست میگیرفتم همه اش خطا unauthorized میده تا آخرا فیلم شما تصمیم گرفتم دیدم همه اش خطا unauthorized میده ولی شما با core 2.2 API انجام دادید من با Core 3.1.6 انجام دادم Web API Core رو.
    http://s12.picofile.com/file/8400878626/Auth_JWT.7z.html
    این لینک دانلود هستش امکانش هستش مشاهده کنید و بگید مشکل از چی هستش ممنون میشم.
    و اینکه بخوام با دیتابیس ارتباط بیدم token باید هر دقیقه توکن رو عوض کنم یا چی چون برای ورود میخوام از نام کاربری و رمز عبور استفاده کنم به همراه رمز یکبار مصرف که پیامک میشه ولی موقع ورود توکن ایجاد میشه داخل دیتابیس و اون توکن باید برگرده و وارد سیستم بشه برای ورود یا نه این رو نتونستم حظم کنم. برای ورود.

  7. سلام و خسته نباشید بنده سورس شما رو به Core 3.1.6 بردم و تغییراتی روی Swagger بود اونها رو اعمال کردم و این لینک Core 3.1.6 فایل هستش http://s12.picofile.com/file/8401094100/JWT_Core3_1.zip.html میخواستم بدانم اگر برای شما مقدور باشه امکان تبدیل فایل استاتیک به داینامیک هستش که به جای اینکه از Swagger استفاده بشه از فرم لاگین استفاده بشه و وقتی وارد شد اطلاعات مشاهده کنه اگر دسترسی داشت دسترسی نداشت بزنه شما دسترسی ندارید یا دسترسی دارید ولی حق دیدن ندارید. اگر به این سورس برای شما مقدور بود در بیارید عالی میشه ولی باز یک دنیا ممنون بابت کمکتان.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *