سیستم احراز هویت Identity 2

سیستم احراز هویت Identity 2

سیستم احراز هویت Identity 2

در این آموزش قصد داریم نحوه ساخت و مدیریت سیستم احراز هویت کاربران را با استفاده از Asp.Net Identity 2 بررسی کنیم .

 

ASP.NET Identity یک سیستم قابل توسعه و پلاگین پذیر می باشد که میتوان آن را بدون این که برنامه از اول ساخته شود آن را پیاده سازی کنید .

به صورت پیش فرض ASP.NET Identity اطلاعات کاربر را در SQL Server ذخیره می کند و از EF Code First برای ایجاد بانک اطلاعاتی استفاده می شود.

این سیستم شامل تمام موارد مورد نیاز برای مدیریت کاربران است :

  • ثبت نام
  • مدیریت نقش ها
  • مدیریت دسترسی ها
  • ورود
  • تغییر کلمه عبور
  • بازیابی کلمه عبور
  • ورود 2 مرحله
  • ورود با گوگل و فیسبوک و توئیتر
  • مدیریت اعضا
  • ارسال ایمیل فعال سازی حساب کاربری
  • ارسال اس ام اس برای فعال سازی
  • و ...

 

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

مدت زمان دوره: 01:00:15
راهنما! برای دانلود با دانلود منیجر(IDM) بر روی این لینک کلیک کنید.

در این آموزش به معرفی کامل Identity 2 و همچنین نصب و راه اندازی ان خواهیم پرداخت .

امیدواریم این آموزش برای شما عزیزان مفید واقع بشه .

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

javadirani ارسال شده در جمعه ۱۶ شهریور ۱۳۹۷

بسیار تشکر عالیه

MostafaGhanbary ارسال شده در چهار شنبه ۱۴ شهریور ۱۳۹۷

دمتون گرم واااااااااااااااقعا عالی بود

mojtaba ارسال شده در دو شنبه ۸ مرداد ۱۳۹۷

ممنون آقای مدائنی ، عالی بود .

aminf305 ارسال شده در جمعه ۲۹ تیر ۱۳۹۷

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

sobhanmozafari ارسال شده در چهار شنبه ۱۳ تیر ۱۳۹۷

با سلام و ممنون از اموزش خوبتون

میخواستم بدونم میشه از identity 2  برای web api  استفاده کرد؟

یا باید از jwt استفاده کنیم؟

ممنون

ایمان مدائنی ارسال شده در چهار شنبه ۱۳ تیر ۱۳۹۷


سلام

باید از jwt استفاده کنید

رضا دبیری ارسال شده در سه شنبه ۲۲ خرداد ۱۳۹۷

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

استاد مدائنی، با استفاده از این آموزش عالی،  بسیاری از مشکلات من با این سیستم حل شد. الان می خوام به مدل یک جدول با رابطه چند به چند به role اضافه کنم که متاسفانه تا کنون موفق نشدم . ممنون می شم راهنمایی بفرمایید.

hadi47 ارسال شده در شنبه ۱۹ خرداد ۱۳۹۷

سلام و تشکر از زحمات شما 

و آرزوی موفقیت بیشتر

 

سینا رستمی ارسال شده در چهار شنبه ۱۶ خرداد ۱۳۹۷

سلام آقای مدائنی خسته نباشید

میخواستم خواهش کنم ازتون اگر براتون مقدوره یک آموزش درباره ساختن یک سیستم شخصی برای احراز هویت و ورود کاربر بر اساس Role ضبط کنید . چون کار کردن با Identity ماکروسافت کمی برام مشکله و منطق پیاده سازی این سیستم ها رو نمی دونم.

 

ممنون ازتون بابت آموزش های خوبتون

ایمان مدائنی ارسال شده در چهار شنبه ۱۶ خرداد ۱۳۹۷

سلام 

در دوره mvc پیشرفته انججام دادیم و خودمون سیستم رو ساختیم 

PooyanBehroozfar ارسال شده در شنبه ۵ خرداد ۱۳۹۷

سلام بر استاد عزیز. آیا تو برنامه هاتون آموزش کامل مباحث owin رو در نظر دارید؟

با تشکر

ایمان مدائنی ارسال شده در شنبه ۵ خرداد ۱۳۹۷

سلام

بله 

به زودی ارائه خواهم داد

hasan_arab78 ارسال شده در شنبه ۱۵ اردیبهشت ۱۳۹۷

سلام من توی پروژه ای از قبل داشتم زدم وقتی پروژه استارت میکنم بریک پوینت گذاشتم وارد ادنتیتی میشه نمیدونم مشکل کجاست میشه راهنمایی کنید؟ پروژه خودتون اینطور نیست

ایمان مدائنی ارسال شده در شنبه ۱۵ اردیبهشت ۱۳۹۷


سلام

متاسفانه نمیتونم حدس بزنم مشکل کجاست

مهدی الهی ارسال شده در شنبه ۱۵ اردیبهشت ۱۳۹۷

سلام 
لطفا آموزش Asp.Core Identity رو هم آموزش رو بزارید .بسیار ممنون

Zahragheaybi ارسال شده در چهار شنبه ۲۲ فروردین ۱۳۹۷

سلام. خیلی ممنون از زحمات شما.

در یک پروژه واقعی چطوری باید بدون نیاز به حالت Sample از Identity 2 استفاده کرد؟؟؟

لطفا راهنمایی کنید یا لینکی رو که کمک کنه معرفی کنید. ممنونم.

ایمان مدائنی ارسال شده در چهار شنبه ۲۲ فروردین ۱۳۹۷

سلام 

کلمه sample رو از دستور حذف کنید

pesarone ارسال شده در شنبه ۱۸ فروردین ۱۳۹۷

سلام 

ممنون از آموزش خوبتون برای بنده بسیار آموزنده بود

pilot1900 ارسال شده در چهار شنبه ۱۵ فروردین ۱۳۹۷

این پروژه سمپلو تگ هاشرو براداریم برای یه پروژه نسبتا بزرگ استفاده کنیم امنیت داره ؟ باگ نداره؟

 

ایمان مدائنی ارسال شده در چهار شنبه ۱۵ فروردین ۱۳۹۷

مشکلی نداره

mardomi ارسال شده در سه شنبه ۱۴ فروردین ۱۳۹۷

سلام . ممنون از آموزش بی نظیرتون .

اگه ممکنه ارسال sms رو هم آموزش بدین ممنون

nematmonsefi ارسال شده در دو شنبه ۲۸ اسفند ۱۳۹۶

سلام ممنون از آموزش خوبتون. بسیار عالی بود.

این امکان وجود داره براتون که این سیستم رو در قالب یک پروژه واقعی و با معماری 3 لایه پیاده سازی کنید؟

توی جدا سازی لایه ها مشکل پیش میاد.

ایمان مدائنی ارسال شده در دو شنبه ۲۸ اسفند ۱۳۹۶

سلام 

چشم در اسرع وقت آماده میکنم

AmirNahravan ارسال شده در پنج شنبه ۲۴ اسفند ۱۳۹۶

با تشکر از آموزش شما که کاملا با زبان ساده و گویا بود. سوال من این هست که زمانی که از برنامه نویسی چند لایه استفاده میکنیم و مدلهای ما کلا در یک کلاس پروجکت دیگه هست این Identity رو کجا نصب کنبم؟

ایمان مدائنی ارسال شده در پنج شنبه ۲۴ اسفند ۱۳۹۶

سلامت باشید 

میتونید مدل های مربوط به این سیستم رو ببرید در لایه دیتا خودتون ، مشکلی پیش نمیاد

afshinmoradi ارسال شده در دو شنبه ۲۱ اسفند ۱۳۹۶

مثل همیشه به زبان ساده و قابل فهم

 

mansnip ارسال شده در جمعه ۱۸ اسفند ۱۳۹۶

سلام

اموزشی که گذاشتید واقعا از هر نظر عالیه و بهترین حسنش اینه که شما این مبحث رو به صورت مجزا اموزش دادید

یعنی به دور از هیچ پروژه ای صرفا فقط مبحث احراز هویت ایدنتیتی رو پوشش دادید

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

فقط ی خواهشی که داشتم اینه که identity 3 که توی net core هستش رو هم اموزشش رو روی سایت بزارید اخه اونجوری که من دیدم مثل اینکه خیلی فرق کرده یعنی خیلی از بخش هایی که قبلا وجود داشت تو identity 3 نیستن و کمتر شده

ایمان مدائنی ارسال شده در جمعه ۱۸ اسفند ۱۳۹۶


سلام

منون از لطف شما دوست عزیز

به زودی دوره Asp.Net Core را ارائه خواهم داد و در اون آموزش identity 3 هم هست

jad1616 ارسال شده در چهار شنبه ۱۶ اسفند ۱۳۹۶

درود بر شما استاد عزیز 

منم از این آموزش خیلی خوب و عالیه شما استفاده کردم 

ازتون تشکر میکنم 

امیدوارم همیشه شاد و سالم و پاینده باشید

 

سعید اسدی ارسال شده در سه شنبه ۸ اسفند ۱۳۹۶

سلام استاد

این آموزش هم مثل سایر آموزش ها عالی بود

همونطور که قول دادین لاگین با حساب ایمیل رو هم اضافه کنید لطفا

آیا امکانش هست به جای این ایمیل فعال سازی برای کاربر ارسال بشه بتونه انتخاب کنه که ایمیل بره یا اس ام اس برای فعال سازی

itstudent ارسال شده در یک شنبه ۲۹ بهمن ۱۳۹۶

سلام استاد اگه امکانش هست آموزش jwt   رو هم بزارید 

بحث claim  رو هم اگه بگید واقعا ممنون میشم 

به شخصه حاضرم واسه دیدن آموزش دو تابحث بالا هزینه بپردازم چون توی اینترنت مقاله و آموزش فارسی نداریم و بهشون نیاز دارم.

MohammadReza ارسال شده در شنبه ۲۱ بهمن ۱۳۹۶

سلام

ممنونم آموزش بسیار عالی بود.

مهدی الهی ارسال شده در سه شنبه ۱۷ بهمن ۱۳۹۶

سلام 
طبق همین آموزش رفتم و فیلد FullName رو هم اضافه کردم 
اگه بخواهم مثل User.Identity.GetUserId به این صورت هر کجا خواستم صدا بزنم به چه صورت FullName رو هم اضافه کنم 
برای مثال بشه User.Identity.FullName

ایمان مدائنی ارسال شده در سه شنبه ۱۷ بهمن ۱۳۹۶


یک Extension Method روی Identity بنویسید و عملیات مورد نظر خودتون رو انجام بدید

دست به اون متد نزنید چون ممکنه به مشکل بخورید

mahdyranaee ارسال شده در یک شنبه ۱۵ بهمن ۱۳۹۶

سلام و خسته نباشید خدمت استاد مدائنی عزیز ...ممنون از سعی و تلاش شما قابل ستایش است.....سوالی داشتم ::: البته بنده هنوز امتحان نکردم اما بعد از دیدن این آموزش به این فکر کردم که آیا برای اضافه کردن identity 2 به پروژه از قبل ساخته شده نیاز به استفاده از .sample  است و این که برای کنترل این قسمت چجوری Repository تعریف کنیم ...اصلا نیاز هست یا نه؟؟ یعنی این قسمت نیاز به درج در لایه ها نداره؟

ایمان مدائنی ارسال شده در یک شنبه ۱۵ بهمن ۱۳۹۶


سلام

اگر از الگوی repository استفاده میکنید بهتره مدل های identity هم به این الگو منتقل بشه

mostafamousavi ارسال شده در سه شنبه ۱۰ بهمن ۱۳۹۶

بسیار عالی ، ممنون 

PAYAVASoftwareGroup ارسال شده در جمعه ۶ بهمن ۱۳۹۶

شما بی نظیر هستین تو این چند سال اخیر هیچ مدرسی مثل شما ندیده بودم ممنونم از زحماتتون

mahdyranaee ارسال شده در دو شنبه ۲ بهمن ۱۳۹۶

ممنون از شما

amiroo ارسال شده در شنبه ۳۰ دی ۱۳۹۶

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

mahnaz ارسال شده در سه شنبه ۲۶ دی ۱۳۹۶

با عرض سلام و خسته نباشید

آموزش بسیار عالی بود

لطفا  Asp.Net Core و identity3 را هم آموزش بدید.

ممنون

ایمان مدائنی ارسال شده در سه شنبه ۲۶ دی ۱۳۹۶


سلام

چشم حتما در برنامه های آتی انجام خواهیم داد .

مسعود قربانی ارسال شده در دو شنبه ۲۵ دی ۱۳۹۶

سلام
خسته نباشید
انلود با IDM مشکل داره.

mehrdad ارسال شده در یک شنبه ۲۴ دی ۱۳۹۶

با سلام

وقتی که بخواهیم identity2 رو تو پروژه های DBFirst به کار ببریم دو تا کانکشن ایجاد میشه.یکی برای identity یکی برای DBFirst .سوالم اینه با دو تا کانکشن به مشکل بر نمیخوریم؟زمانی که میخایم رو هاست بذاریم دوتا کانکشن مشکل نداره؟؟

ایمان مدائنی ارسال شده در یک شنبه ۲۴ دی ۱۳۹۶

سلام 

خیر مشکلی پیش نمیاد ، نگران نباشید

mehrdad ارسال شده در یک شنبه ۲۴ دی ۱۳۹۶

با سلام

وقتی که بخواهبم identity2 رو تو پروژه های DBFirst به کار ببریم دو تا کانکشن ایجاد میشه.یکی برای identity یکی برای DBFirst .سوالم اینه با دو تا کانکشن به مشکل بر نمیخوریم؟زمانی که میخایم رو هاست بذاریم دوتا کانکشن مشکل نداره؟؟

Peymanfilm ارسال شده در یک شنبه ۲۴ دی ۱۳۹۶

بسیار بسیار عالی بود

آرزویمان این بود که یک استادی بیاد و احراز هویت رو کامل توضیح بده. 

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

محمد اردوخانی ارسال شده در شنبه ۲۳ دی ۱۳۹۶

اموزش فوق العاده و بی نظیر

خسته نباشید

mohamadmolavi ارسال شده در جمعه ۲۲ دی ۱۳۹۶

سلام و عرض ادب و احترام بنده از این متد احراز هویت به صورت DBFirst استفاده میکنم نیاز دارم تا به وسیله کد ملی یوزرهای خودم رو به جدول افراد متصل کنم تا اطلاعات اضافی در مورد یوزرهام ذخیره نکنم لطفا راهنمایی بفرمایید چطور میتونم اطلاعاتی مثل نام و نام خانوادگی را از جدولی دیگر درون کوکی خود identity قرار بدم و به طور مثال از طریق user.identity.getFullname به آن دسترسی پیدا کنم

ایمان مدائنی ارسال شده در شنبه ۲۳ دی ۱۳۹۶


تا اونجا که اطلاع دارم نمیتونید به کوکی Identiity دست بزنید

میتونید خودتون یک کوکی جدا ست کنید که اصلا منطقی نیست ، اطلاعات خودتون در جدول دیگه یا همون جدول ذخیره کنید و سپس در مواقعی که لازم دارید با یک کوئری بدست بیارید

sajjad_spook ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶

ممنون از آموزش های خوب و شیوه بیان خوبتون . و همچنین شوخی های توی ویدئو :)

همه چی عالی .

mehrdad ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶

منظورتون اینه همون سمپل رو نصب کنم؟؟چون بدون سمپل چیزی برام بالا نیاورد و طبق فیلم عمل کردم.

آیا سمپل برای پروژه واقعی کاربرد داره؟

ایمان مدائنی ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶

بله اون سپمل کامل و خودش یک پروژه است

mehrdad ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶

سلام

استاد کد زیر رو وارد کردم  ولی هیچ ویویی اضافه نکرد.آیا ویو ها فقط موقع اضافه کردن سمپل اضافه میشن؟؟

 Install-Package Microsoft.AspNet.Identity -Pre

ایمان مدائنی ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶

با همون کد آموزش پیش برید 

چند قسمت مربوط به دمو را حذف کنید

خیلی ساده تر میشه

mehrdad ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶

سلام

استاد یه سوال داشتم و این هست که آیا identity 2 رو تو پروژه های  database first  میشه انجام داد؟؟ممنون میشم کامل راهنمایی کنید

ایمان مدائنی ارسال شده در پنج شنبه ۲۱ دی ۱۳۹۶


بله میشه

این لینک رو ببینید

RBarzegar ارسال شده در چهار شنبه ۲۰ دی ۱۳۹۶

با سلام واقعا ممنون به خاطر آموزش های عالی...یک سوالی برام پیش اومد این بود که در این پروژه از بسته identity نوع sample استفاده شده، در پروژه واقعی کدوم بسته ناگت مربوط به Identity را باید دریافت کرد؟

ایمان مدائنی ارسال شده در چهار شنبه ۲۰ دی ۱۳۹۶


سلام

دستور nuget را بدون sample وارد کنید

مهدی الهی ارسال شده در چهار شنبه ۲۰ دی ۱۳۹۶

ممنون از ویدئو های آموزشی شما 
ولی اگه داخل یه پروژه پیاده و تست می کردید خیلی عالی بود 
چون هر آموزشی رو از identity من دیدم همه از sample استفاده می کنن ولی داخل یک پروژه استفاده نمی کنن تا بفهمیم به چه صورت پیاده سازی میشه 
ممنون میشم

mounegh ارسال شده در چهار شنبه ۲۰ دی ۱۳۹۶

ممنون از ویدئوهای ارزشمندتون

سطح دسترسی داینامیک claim رو می تونید آموزشش رو بذارید؟

سیستم فعلی من بر اساس این سطح دسترسی هست که شما آموزشش رو گذاشتید. می خواستم تبدیلش کنم به claim می تونید راهنمایی بفرمائید

ممنون

ایمان مدائنی ارسال شده در چهار شنبه ۲۰ دی ۱۳۹۶

سلام 

بله به زودی در ادامه همین آموزش قرار خواهم داد .

SajadVahmi ارسال شده در سه شنبه ۱۹ دی ۱۳۹۶

با سلام

واقعا ممنون به خاطر آموزش های خوب و فن بیان و تسلط عالی شما در انتقال مطالب به مخاطبتون

ازشما تقاضا میکنم اگر مقدوره آموزش هایی در خصوص katana&owin در سایت منتشر کنید

با تشکر

ایمان مدائنی ارسال شده در سه شنبه ۱۹ دی ۱۳۹۶


سلامت باشی دوست من

من فقط انجام وظیفه میکنم

چشم حتما آموزشی در این خصوص آماده میکنم

مصطفی حسن پور ارسال شده در سه شنبه ۱۹ دی ۱۳۹۶

بسیار عالی

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

با اینکه از این نوع احراز توی چند از پروژه هام دارم استفاده میکنم، اما باز هم سه چهارتا نکته اساسی که بهش دقت نکرده بودم رو شما آموزش دادید.

واقعا دسته شما درد نکنه و خسته نباشید.

ایمان مدائنی ارسال شده در دو شنبه ۱۸ دی ۱۳۹۶

سلامت باشید دوستان من 

کامنت های شما واقعا به من انگیزه میده 

از همه شما عزیزان ممنونم

mehrdad ارسال شده در دو شنبه ۱۸ دی ۱۳۹۶

فقط میتونم بگم عالی عالی عالی

MasterPars ارسال شده در دو شنبه ۱۸ دی ۱۳۹۶

بسیار عالی 

استاد لطفا اموزش jwt وClaims هم بزارید

 

arman ارسال شده در دو شنبه ۱۸ دی ۱۳۹۶

خیلی عالی 

فقط دو سوال دارم اونم اینکه ایدی ها رو بر اساس GUID میسازه که به صورت string در پیاگاه داده ذخیره میکنه

می خواستم ببینیم در سئو تاثیر نمیگذارد ؟

http://localhost:2438/UsersAdmin/Details/ceb7af2a-5335-446c-adf5-395eb2988250

یک سوال دیگر  بعدا ایدی string  مشکل ساز نمیشود ؟چون  باید کلا id  تمام مدل ها را باید بر اساس GUID ساخت(چون بالاخره باید در رابطه ها یا کوئری ها از id استفاده کرد )

ایمان مدائنی ارسال شده در دو شنبه ۱۸ دی ۱۳۹۶


خیر مشکل ساز نخواهد شد

اینکار را برای منحصر به فرد بودن و بحث BigData انجام میده

امروزه با گسترش سایت ها تعداد کاربران هم رو به افزایش است یک دلیل تمام نشدن این بازه و دلیل دوم غیر قابل حدث زدن کلید ایجاد شده و امن بودن آن است

hamid ارسال شده در دو شنبه ۱۸ دی ۱۳۹۶

با تشکر از زحمات شما.مثل همیشه عالی بود.

mehrdad ارسال شده در شنبه ۱۶ دی ۱۳۹۶

ممنون ازاینکه به درخواستم جواب دادید.خدا قوت